131 votes

Quel est le meilleur framework de test à utiliser avec node.js?

J'ai consulté la liste assez longue des frameworks de test sur https://github.com/ry/node/wiki/modules#testing . Quelqu'un at-il une expérience de ces cadres?

De toute évidence, la possibilité de fonctionner dans le navigateur serait un gros bonus, mais je suis principalement intéressé par node.js. Quelque chose avec une inclinaison fortement asynchrone serait génial.

70voto

Alfred Points 32190

mise à jour:

Moka est le meilleur à mon avis


Quelqu'un aurait-il une expérience de l' ces cadres?

J'ai joué avec expresso qui est plutôt cool framework de test qui a aussi des test de couverture. Il a été créé par TJ Holowaychuk qui est aussi le créateur de l'express(Incroyablement rapide (et les petites) JavaScript côté serveur web de cadre de développement intégré sur le nœud et de vous Connecter.). J'ai récemment vu qu'il a aussi une bibliothèque appelée cool should.js qui peut être utilisé conjointement avec d'expresso pour une encore meilleure expérience de test.

Évidemment, la capacité à fonctionner en l' navigateur serait un gros bonus

Je ne crois pas qu'il peut s'exécuter dans le navigateur, mais je ne comprends pas pourquoi vous voulez exécuter dans le navigateur?

mais je suis surtout intéressé par l'node.js. Quelque chose avec un très asynchrone inclinaison serait génial.

Citation de l'expresso:

L'argument transmis à chaque rappel est beforeExit, qui est généralement utilisé pour affirmer que les rappels ont été invoquée.

Vous pouvez utiliser beforeExit pour tester asynchrone fonctions.


ASTUCE: suivez TJ Holowaychuk sur github, car il crée de très bonne code open-source.

40voto

panos.kosmidis Points 845

J'utilise VowsJS qui est facile à utiliser asynchrone BDD cadre (Behaviour Driven Development) et d'obtenir le travail fait.

De ce que je vois ces derniers temps c'est ce que beaucoup ont choisi de tester leur MNP modules, alors je crois que jusqu'à présent c'est l'un des meilleurs à utiliser.

Certains populaire infrastructures de test qui peut être utilisé avec NodeJS sont aussi ceux:

Vous pouvez également voir une liste de JavaScript frameworks de test ici

Quelques libs qui pourraient vous aider à mieux écrire de code sont ceux:

Il y a aussi le Bambou Serveur CI par Atlassian il automatise les versions et des tests. C'est un package Apache/Tomcat (qui sux, car il utilise Java et qui le rend très lourd) n'est pas libre, mais il a un démarreur de licence qui coûte 10 $ donc je crois qu'il est abordable. Il est le plus en vedette de tous les serveurs CI que j'ai trouvé jusqu'à présent et il prend en charge tous les tests d'unité de soutien xUnit qui signifie que vous pouvez exécuter des builds/tests pour n'importe quelle langue avec du Bambou.

Une autre option pour l'IC avec NodeJS est Travis qui beaucoup de gens utilisent pour leurs projets open source, comme il est dit hébergé intégration continue service de la communauté open source.

Il y a aussi un google groupe de discussion avec d'Intégration Continue pour Node JS Projets de sujet.

14voto

Chris Jaynes Points 1527

Basé sur le sens de commentaires ci-dessus, j'ai essayé de vœux, et il a résolu beaucoup de problèmes que j'avais avec mon async tests. Sa capacité à mélanger en série et en parallèle des tests est génial.

Assurez-vous de lire le document d'orientation doc soigneusement, mais une fois que vous obtenez le coup de lui, il est souple, puissant, et produit agréable, propre.

Mise à JOUR: je voudrais aussi encourager les gens à consulter devraient pour leur affirme. Il permet une très flexible, très lisible affirme, et est compatible avec Expresso et des Vœux, et probablement la plupart des autres frameworks de test.

(Je poste cela comme une réponse distincte juste au cas où les gens ne remarquent pas les commentaires sur Alfred de réponse.)

6voto

Mark B Points 412

J'ai commencé à utiliser Jasmine pour mes tests JavaScript, car il est petit et qu'il s'exécute à la fois dans le navigateur et le nœud. Il possède également une API de reporting et de matcher très solide, ce qui facilite son intégration future à d'autres outils. Avoir un framework de construction moqueur est également utile car c'est souvent l'une des premières choses que j'ajouterais lorsque j'utilisais qunit pour TDD dans le navigateur.

2voto

Vanwaril Points 2263

J'ai été en utilisant nodeunit et sa capacité à travailler avec async fonctions est relativement simple.

Il y a une belle procédure pas à pas vous prêt à aller avec nodeunit sur son blog.

[ Note: l'API a changé depuis l'article sur le blog – setUp(callback) et tearDown(callback) ont tous deux une fonction de rappel qu'un argument, qui vous avez besoin à appeler lorsque votre installation/démontage est terminé. ]

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