web-dev-qa-db-fra.com

Node.js Test Unitaire

Existe-t-il de bons frameworks de tests unitaires node.js (côté serveur)? Je cherche quelque chose d'un peu plus profond que le module Assert fourni.

163
Mark

J'ai fini par utiliser node-unit et j'en suis vraiment content.

J'utilisais Expresso à l'origine, mais le fait qu'il exécute des tests en parallèle a posé quelques problèmes. (Par exemple, utiliser des fixtures de base de données ne fonctionne pas bien dans cette situation).

65
evilcelery

Je recherchais également un cadre de test décent pour noeud et trouvé Mocha . Il est le successeur officiel de Expresso et semble très mature.

Il permet de brancher différentes bibliothèques d'assertion, il offre aux reporters la couverture de code et d'autres choses (vous pouvez brancher le vôtre). Il peut exécuter la synchronisation ou async et il a une API concise.

Je vais essayer et faire un compte rendu ...

MODIFIER:

Après un temps incroyable consacré à d'autres projets, je suis finalement revenu à un projet Javascript et j'ai eu le temps de m'amuser avec le moka. Je peux sérieusement recommander de l'utiliser. Les tests se lisent très bien, l'intégration avec gulp est excellente et les tests s'exécutent très rapidement. En une demi-journée environ, j'ai été en mesure de configurer des exécutions de tests autonomes, autonomes et dans le navigateur (browserify) et les rapports de couverture de code correspondants (la plupart du temps nécessaire pour comprendre comment utiliser browserify de gulp). Pour moi, le moka semble être un très bon choix pour un framework de test.

MISE À JOUR:

Je suis toujours très convaincu de Moka. L'intégration avec chai permet de brancher différents styles d'assertion. Vous pouvez extraire une configuration de travail dans ce projet github . Je l'utilise maintenant avec le karma, intégrant un rapport de couverture de code, des observateurs automatiques et une bonne intégration avec IntelliJ

46
bennidi

Personnellement, je n’ai utilisé que le module assert, mais j’ai aussi envie de plus. J'ai parcouru de nombreux modules de noeuds et les frameworks de tests unitaires populaires sont node-unit et devraient (ce qui est fait par le même homme qu'Expresso (peut-être un nom mis à jour?)

Voeux semble également prometteur.

15
jtsao22

Personnellement, je suis coincé avec Expresso , mais il existe de nombreux frameworks différents, adaptés à la plupart des styles de test.

Joyent a ne longue liste ; essayez-le.

15
einaros

J'ai installé avec Mocha - il y a un excellent tutoriel ici - http://brianstoner.com/blog/testing-in-nodejs-with-mocha/

9
Setrino

voeux est une bibliothèque de test d'unité solide pour node.js mais la syntaxe est fastidieuse.

J'ai écrit une abstraction mince appelée vœu-fluent qui rend l'API chaînable.

Et j'ai écrit une autre abstraction, [voeux-est] qui s'appuie sur les voeux fluides et expose une syntaxe de style BDD.

Un exemple serait

var is = require("vows-is");

is.suite("testing is fun").batch()

    .context("is testing fun?")
        .topic.is("yes")
        .vow.it.should.equal("yes")

.suite().run({
    reporter: is.reporter
});

Plus d'exemples

5
Raynos

Je pense que parmi les différents cadres de test disponibles, mocha est le plus récent et très simple à mettre en œuvre. Voici un excellent tutoriel sur son utilisation: http://thewayofcode.wordpress.com/2013/04/21/how-to-build-and-test-rest-api-with-nodejs-express -mocha /

4
sam100rav

Si vous connaissez QUnit , vous pouvez utiliser node-qunit , qui est une sorte de wrapper de nœud autour du framework existant de QUnit.

1
Zorayr

Je viens de télécharger un projet que j'utilise pour tester les nœuds avec Karma et Jasmine: narma . Vos modules de nœud sont chargés dans un navigateur nodewebkit afin que vous puissiez exécuter des modules de nœud et utiliser des bibliothèques telles que jquery dans le même segment de mémoire.

0
noamtcohen

test-studio est un paquet npm qui fournit une interface Web puissante et performante pour les tests unitaires. Il prend en charge des tâches telles que l'exécution de tests individuels ou de groupes de tests et l'insertion progressive d'inspecteur de nœud dans des tests individuels. Il prend actuellement en charge le moka et davantage de cadres seront pris en charge à l'avenir, compte tenu de la demande.

En savoir plus à ce sujet ici .

Disclaimer: je suis l'auteur.

0
Dale Anderson

Fait à l'origine pour node.js, deadunit est une bibliothèque de test d'unités javascript pour node.js et le navigateur. Certains de ses attributs uniques:

  • Courbe d'apprentissage facile
  • Peut afficher les résultats des tests sur la ligne de commande (en couleur ou en texte brut) ou en tant que HTML
  • Il affiche les lignes de code réelles où se trouvent vos assertions, ainsi votre sortie est logique même si vous ne passez pas beaucoup de temps à écrire un commentaire de test.
  • Il a une assertion simple count qui facilite la gestion des exceptions attendues et des assertions asynchrones.
  • il affiche une exception et toutes les données attachées dont ils disposent
  • cela vous permettra de savoir si votre code est suspendu (quelque chose que vous ne voulez pas, mais qui passe généralement inaperçu)
  • Est-ce qu'une API événementielle permet la diffusion en continu des résultats de test sur un réseau ou à votre guise?.
  • Prend en charge les tests avec node-fibres
0
B T