J'utilise Visual studio (parfois resharper) pour exécuter mon test unitaire.
J'ai entendu parler de NUnit, mais je n'en sais pas grand-chose ...
Dois-je m'en soucier? Peut-il offrir quelque chose de mieux que le studio visuel?
Dois-je utiliser NUnit et pourquoi?
Réponses:
NUnit a peu d'avantages par rapport à MS-Test
Assert.AreEqual(expected, actual)
vsAssert.That(actual, Is.EqualTo(expected))
[TestCase]
! NUnit permet des tests paramétrés.la source
De mon point de vue actuel (après 8 mois de développement avec environ 10 développeurs en moyenne) Je conseillerais contre l' utilisation MSTest pour les raisons suivantes
En d'autres termes, si je devais me décider à nouveau il y a 8 mois, je prendrais probablement NUnit. Je n'ai peut-être pas le rapport de résultats de test intégré, mais les développeurs auraient une expérience de test plus transparente.
la source
Voici mon expérience avec MS Test
Ajout: Nous avons encore quelques tests maintenant, nous ne pouvons même pas dire combien. Il est impossible de tous les exécuter à partir de Visual Studio, en raison d'OutOfMemoryExceptions et d'autres problèmes d'instabilité. Nous exécutons les tests à partir de scripts. Il serait facile d'afficher les résultats des tests dans Visual Studio, mais lorsque la solution est ouverte, VS plante (à chaque fois). Nous devons donc rechercher les tests qui échouent à l'aide de la recherche de texte. Il n'y a plus d'avantage d'un outil intégré.
Une autre mise à jour : nous utilisons VS 2013 maintenant. Beaucoup de choses ont changé. Ils ont réécrit le lanceur de test MS Test pour la troisième fois depuis que nous avons commencé. Cela a causé beaucoup de changements de rupture, mais aucune des nouvelles versions ne faisait rien de mieux. Nous sommes heureux de ne pas avoir utilisé les fonctionnalités sophistiquées de MS Test, car elles ne sont plus prises en charge. C'est vraiment dommage. Nous utilisons toujours des scripts pour construire et exécuter tous les tests unitaires, car c'est plus pratique. Visual Studio a nécessité quelques minutes pour démarrer l'exécution des tests (temps après compilation jusqu'au démarrage du premier test). Ils le corrigent probablement avec une mise à jour et cela pourrait être un problème spécifique de notre projet. Cependant, Resharper est beaucoup plus rapide lors de l'exécution des mêmes tests.
Conclusion : Au moins en combinaison avec Resharper, MS Test est utile. Et j'espère qu'ils découvriront enfin comment le lanceur de tests doit être écrit et qu'ils ne feront pas ce genre de changements de rupture lorsque nous mettrons à jour Visual Studio la prochaine fois.
la source
NUnit peut être utilisé en combinaison avec Visual Studio. C'est un cadre et non un programme séparé. Donc, vous pourriez vous soucier de voir si cela vous convient :).
texte alternatif http://i3.codeplex.com/Project/Download/FileDownload.aspx?ProjectName=nunitit&DownloadId=61802
"Après avoir installé le plugin, vous trouverez un nouveau sous-menu dans le menu des outils."
Voir http://nunitit.codeplex.com/ pour plus d'informations sur son importation.
En outre, beaucoup de choses peuvent être trouvées en utilisant la recherche de SO. Cette rubrique répertorie les avantages de NUnit par rapport aux tests standard MS, par exemple.
la source
Le plus grand avantage de MS-Test par rapport à NUnit est que MS-Test peut générer des objets fictifs à l'aide de Reflection. Je l'ai trouvé très utile
la source
NUnit fonctionne avec l'édition Standard de VS.
la source
Je ne suis pas sûr des autres, mais NUnit fournit une interface graphique et une console sympa pour exécuter vos tests unitaires et vous pouvez également générer un rapport sur le résultat de l'exécution du test NUnit qui donnerait le détail de l'endroit où le test a échoué ou réussi et à quelle heure l'a fait prendre pour votre test unitaire
la source
NUnit est un framework de test unitaire, également pris en charge par resharper. Je pense que vous utilisez le cadre de test unitaire de Microsoft, donc NUnit n'est qu'une alternative au produit de Microsoft;)
Voici le lien vers la page d'accueil de NUnit: http://nunit.org
la source
Dans NUnit , les tests ne sont pas exécutés en parallèle. Au contraire, il semble que tous les tests s'exécutent sur un seul thread. Dans MSTest, chaque test est instancié sur un thread séparé, ce qui entraîne l'entrelacement des exécutions. Par conséquent, si le test A dépend du test B pour son succès, il échouera probablement car le test B commencera probablement à s'exécuter pendant l'exécution du test A.
la source
Si vous utilisez Visual Studio, vous devez utiliser NUnit pour effectuer des tests unitaires, et si vous exécutez java (Netbeans), vous devez utiliser JUnit pour les tests unitaires.
Voici un exemple de test unitaire simple de la calculatrice
la source