Conseils sur le cadre de test .NET
-
08-06-2019 - |
Question
Je cherche à introduire un cadre de tests unitaires dans mon travail.Nous utilisons Visual Studio 2005 (même si nous pourrions passer à 2008 dans les 6 prochains mois) et travaillons principalement en C#.Si le framework dispose d'une sorte d'intégration IDE, ce serait mieux, mais je suis ouvert aux frameworks qui n'ont pas d'intégration mais qui restent relativement simples à configurer.Je vais rencontrer de la résistance d'une manière ou d'une autre, donc si je peux m'assurer que ce que je pousse ne me fait pas mal au cou, cela aiderait mon cas.
Le choix évident d'après les recherches que j'ai effectuées jusqu'à présent pointe vers nUnit, mais j'aimerais avoir l'impression de quelqu'un qui l'a réellement utilisé avant de le recommander à mon équipe.
Quelqu'un a-t-il utilisé nUnit ?Si oui, y a-t-il des pièges ou des limites dont je devrais être conscient ?Existe-t-il d’autres bonnes options ?Si tel est le cas, si vous avez utilisé les deux nUnit, j'apprécierais grandement une idée de leurs forces et de leurs faiblesses.
La solution
Je pense NUnit
est votre meilleur pari.Avec TestDriven.NET
, vous bénéficiez d'une excellente intégration au sein VS.NET
.(Resharper dispose également d'un exécuteur de tests unitaires si vous l'utilisez). NUnit
il est simple à utiliser et suit un paradigme établi.Vous trouverez également de nombreux projets/tutoriels/guides qui l'utilisent, ce qui est toujours utile.
Votre autre choix principal est probablement MBUnit, qui se positionne de plus en plus comme le BDD
cadre de choix (en collaboration avec Gallio http://www.gallio.org).
Autres conseils
Scott Hanselman a publié un bon podcast à ce sujet, intitulé :
"Le passé, le présent et l'avenir des frameworks de tests unitaires .NET"
:
Les tests unitaires intégrés dans VS 2008
c'est bien, mais c'est difficile à intégrer avec CruiseControl.net
, certainement beaucoup plus dur que la normale NUnit
.
Alors vas-y avec NUnit
si vous prévoyez d'avoir de jolis tests automatisés.
Visual Studio 2008
a un type de projet de test intégré qui fonctionne de la même manière que NUnit, mais a évidemment une intégration beaucoup plus étroite avec Visual Studio
(peut s'exécuter sur chaque version et affiche les résultats de la même manière que la page des résultats de conversion lors de la mise à niveau des fichiers de solution), mais il n'est évidemment pas aussi mature que NUnit car il est assez nouveau et je ne suis pas sûr de la façon dont il gère la moquerie.
Mais cela vaudrait la peine de se pencher sur le moment où votre équipe déménagera VS2008
Nous avons utilisé xUnit.net.Il semble combiner tout le meilleur de nUnit
, mbUnit
et MSTest
.
Quand j'ai commencé les tests unitaires, j'ai commencé avec NUnit
comme il est simple à configurer et à utiliser, j'utilise actuellement le programme d'exécution de tests intégré fourni avec Resharper
, de cette façon, je peux facilement basculer entre le code et les résultats des tests.Incidemment NUnit
détecte le moment où vous avez compilé votre code, vous n'avez donc pas besoin d'effectuer d'actualisation dans NUnit
. Resharper
effectue automatiquement une compilation lorsque vous choisissez d'exécuter un test spécifique.
VSTT 2010
devrait être un bon pari si vous recherchez une automatisation des tests fonctionnels.Tests de services Web, UI
tests, tests Biztalk et prise en charge des tests basés sur les données.Regardez s'il vous plaît VSTT
mbUnit
vaut le détour, il possède un ensemble de fonctionnalités comparables à NUnit
, il possède sa propre interface graphique ou peut être intégré à VS
si tu as Resharper
.Je recommanderais également Rhino Mocks
si vous faites quelque chose TDD
.
Je dirais aussi mbUnit, j'aime pouvoir exécuter un seul test plusieurs fois simplement en spécifiant les entrées et le résultat juste au-dessus de la fonction de test.Horrible description de ce que je veux dire voici un lien qui vous montre ce que je veux dire.