Il me semble que tout le monde utilise NUnit sans même considérer les autres options. Je pense que c'est parce que:
- Tout le monde le connaît déjà, ils n'auront donc pas à apprendre une nouvelle API.
- Il est déjà configuré avec leur serveur d'intégration continue pour fonctionner avec NUnit.
Suis-je dans l'erreur?
J'ai décidé d'utiliser xUnit sur l'un de mes propres projets récemment et j'adore ça! Cela a beaucoup plus de sens pour moi et conceptuellement, cela semble être un pas en avant certain de NUnit.
J'aimerais entendre des opinions sur le cadre qui est réellement le meilleur - sans prendre en considération le fait de devoir l'apprendre ou de reconfigurer vos tests automatisés.
.net
unit-testing
frameworks
nunit
xunit
Personne
la source
la source
Réponses:
MSTest
J'utilise personnellement MSTest. NUnit est vraiment sympa, mais dans VS2010, MSTest est déjà entièrement intégré dans l'IDE et il existe des modèles de projet complets pour cela. Pour .NET, si vous utilisez 2010, je pense que MSTest est la voie à suivre (MSTest dans VS2008, je ne pense pas que ce soit à la hauteur) simplement pour la couverture du code, le lanceur de test et d'autres outils à votre disposition hors de la boîte. (Si vous utilisez CodeRush ou R #, alors ils ont de très bons exécuteurs / outils de test pour d'autres frameworks de test)
Edit: je suis depuis passé à XUnit. :RÉ
la source
J'ai commencé à utiliser Gallio / MbUnit il y a plusieurs années. Et les fonctionnalités et les joyaux qu'il offre sont tellement puissants que je n'ai jamais regretté mon choix. En fait, je fais maintenant partie de l'équipe de développement du projet Gallio OSS; donc je peux contribuer à le rendre encore plus génial.
Le wiki est certainement un bon point de départ pour découvrir Gallio et MbUnit v3. Il manque encore quelques chapitres mais c'est déjà très utile.
la source
En choisir un et l'utiliser est peut-être l'étape la plus importante ici.
Personnellement, je choisirais NUnit pour plusieurs raisons. Le support d'outillage est avant tout. Il existe un complément gratuit pour Visual Studio 2010 , et tous les principaux plugins tiers le prennent en charge. Chaque système de construction, utilitaire de couverture de test et serveur CI le prend en charge. Dans de nombreux cas, sans plugin. Au niveau du code, il peut gérer à peu près n'importe quel scénario à ce stade - tests pilotés par les données, héritage, classes de test abstraites, classes de test génériques, configuration, suppression, etc. Dans une certaine mesure, nous avons xUnit parce que NUnit est trop riche en fonctionnalités et puissant.
Au-delà de NUnit, je pense que vous pourriez faire un argument assez décent pour MBUnit + Gallio comme mentionné par Yann - c'est un cadre très solide. Celui que vous devriez éviter si possible serait MSTest, qui a quelques défauts fatals à mon humble avis. Les failles étant certaines des contraintes sur vos classes de test, telles que l'absence d'héritage, et les dépendances des SKU de studio visuel professionnels ou meilleurs. Y compris exiger que Visual Studio soit installé sur le serveur de build pour exécuter les tests.
la source
La seule raison est que NUNIT est devenu plus standard que xUnit. Mais personnellement, j'adore xunit.
la source