37 votes

Tests unitaires CoffeeScript?

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?

26voto

liammclennan Points 3535

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.

11voto

PandaWood Points 3487

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.

3voto

Graham Ashton Points 444

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...

0voto

Lpc_dark Points 456

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X