J'utilise CoffeeScript dans une application Rails et j'aimerais le tester un peu. Google n'a rien révélé, y a-t-il un moyen de le faire sans écrire mon propre framework de test ou en testant le JavaScript fourni par CoffeeScript?
Réponses
Trop de publicités?Vous pouvez utiliser n'importe quel framework de test javascript avec CoffeeScript. Ce sera de tester le Javascript que CoffeeScript sorties qui est nécessaire étant donné que CoffeeScript lui-même ne peut pas être exécuté.
La rédaction de votre propre framework de test pour CoffeeScript est un plaisir (je l'ai fait) mais entièrement uneccessary.
Mise à JOUR: Jasmin tests peuvent être exécutés sur node.js dans ce cas, les tests et le code sous test peut être CoffeeScript, sans la nécessité d'une étape de compilation.
Vous pouvez utiliser QUnit comme il est, mais seulement à écrire des coffee-script - et pas de colle-code.
J'ai une très petite, pur de café-projet de script sur github par exemple rubyann.
Le code HTML de la page de test rubyann_tests.html, fait référence à la rubyann_tests.café fichier de tests de jquery.rubyann.café. Je n'ai pas écrit le code javascript ou tout autre code pour faire ce travail.
Les tests s'exécuter uniquement sur google Chrome sur votre ordinateur local si vous utilisez l'argument de ligne de commande --allow-file-access-de-fichiers. Mais il fonctionne sur Firefox et même c'est à dire sans problèmes.
Je suis en essais CoffeeScript dans mon application Rails avec QUnit, et ont écrit de la façon dont je le fais ici: http://effectif.com/coffeescript/qunit-boilerplate
La chose la plus intéressante dans mon écriture-up est l'utilisation de la fonction de rappel pour le Café.la charge de garantir que les fichiers contenant les tests se charge une fois que les fichiers qui contiennent le code en cours de test:
<script type="text/coffeescript">
for file in ['models', 'controllers']
lib = "../../app/assets/javascripts/#{file}.js.coffee"
load_test = ->
test = "#{file}_test.coffee"
-> CoffeeScript.load(test)
CoffeeScript.load lib, load_test()
</script>
Le besoin de lancer l' test
variable est expliqué dans l'article...
Pour les tests de Coffee-Script Unit, vous pouvez essayer Beast-Test, il a été écrit à partir de zéro pour Coffee-Script. FYI je suis le propre mais je pense que vous l'aimerez néanmoins. C'est semblable à JUnit