Question

Revenir à un peu plus de .NET après quelques années sans l'utiliser à plein temps et se demander quels sont les bons packages de tests unitaires de nos jours.

Je connais NUnit (il y a quelques années) et j'ai joué brièvement avec IronRuby, dans le but de lancer quelque chose comme rspec, mais je ne sais pas grand-chose au-delà de cela.

Je me rends compte que je pourrais rechercher cela sur Google et arrêter cela, mais je pense que j'obtiendrai probablement une réponse meilleure et plus éclairée en posant une question ici :-)

Suggestions?

Était-ce utile?

La solution

Il y en a tellement c'est fou.Fou bien, je suppose.

  • Pour les types conservateurs (moi), NUnité est toujours disponible et toujours plus que performant.
  • Pour les types Microsoft, Test MS est adéquat, mais lent et maladroit par rapport à Nunit.Il manque également de couverture de code sans payer beaucoup d'argent pour les versions coûteuses de Visual Studio.
  • Il y a aussi MoUnité.C'est comme NUnit, mais possède des fonctionnalités intéressantes comme RowTest (exécuter le même test avec des paramètres différents) et Rollback (remettre la base de données telle que vous l'avez trouvée après un test)
  • Et enfin, xUnit.net est l'option tendance avec une certaine attitude.
  • Oh et TestDriven.NET vous donnera l'intégration IDE pour Nunit et MBunit.

Je suis sûr qu'ils vont tous très bien.Je m'éloignerais cependant de MSTest, à moins que vous n'appréciiez simplement la commodité d'avoir tout dans un seul IDE prêt à l'emploi.

Scott Hanselman a un podcast sur ce même sujet.

Autres conseils

Nous utilisons NUnit et MBUnit ici.Nous utilisons TestDriven.NET pour exécuter les tests unitaires à partir de Visual Studio.Nous utilisons l'excellent, fortement recommandé RhinoMocks comme un cadre fictif.

Restez fidèle à NUnit.Ne vous approchez pas de MSTest.

NUnit + ReSharper est un plaisir absolu de travailler avec.

J'avais l'habitude d'utiliser NUnit, mais j'ai maintenant tendance à utiliser MbUnit, pour deux fonctionnalités clés :1.La fonctionnalité RowTest vous permet d'exécuter facilement le même test sur différents ensembles de paramètres, ce qui est important si vous souhaitez vraiment une couverture complète.2.La fonctionnalité Rollback vous permet d'exécuter des tests sur votre base de données tout en annulant les modifications après chaque test, gardant votre base de données exactement dans le même état à chaque fois.Et c'est aussi simple que d'ajouter l'attribut [Rollback].

Un autre aspect intéressant de MbUnit est que sa syntaxe est presque identique à NUnit, donc si vous avez déjà tout un banc de test en place sous NUnit, vous pouvez simplement changer les références sans avoir besoin de changer (beaucoup ?) de code.

xUnit.net semble proposer une approche légèrement différente de N/MB/MS/Unit, ce qui est intéressant.

Dans ma recherche d'une solution de type rspec (parce que j'ADORE le rspec), je suis également tombé sur NSpec, qui semble un peu verbeux, mais combiné avec le Extensions NSpec addon pour utiliser les méthodes d’extension C#3, ça a l’air plutôt sympa.

J'utilise ce qui suit :

TestDriven.NET - Module complémentaire de tests unitaires pour Visual Studio

Isolateur de type Mock- Framework moqueur pour les tests unitaires .Net

NUnité - Un framework de tests unitaires open source en C#.

C'est une vieille question mais vous trouverez peut-être intéressant que Gallio v3.1 prenne désormais en charge RSpec via IronRuby.

J'aime TestDriven.NET (même si j'utilise ReSharper) et j'en suis plutôt content XUnit.net.Il utilise des faits au lieu de tests, ce que beaucoup de gens n'aiment pas, mais j'aime la différence de terminologie.Il est utile de penser à un ensemble de faits automatiquement prouvables sur votre logiciel et de voir ceux que vous violez lorsque vous effectuez une modification.

Soit conscient que Visual Studio 2008 Professional (et supérieur) est désormais livré avec des tests unitaires intégrés (auparavant, il n'était disponible qu'avec les éditions Team System) et peut convenir à vos besoins.

J'ai fait un petit exemple de test d'une bibliothèque .net en utilisant ironRuby :http://khebbie.dk/post/2008/08/Example-of-using-ironRubys-mini_rspec-library.aspx

J'utilisais NUnit, mais je suis passé à MbUnit car il a plus de fonctionnalités.J'adore RowTest.Il vous permet de paramétrer vos tests.NUnit a cependant un support d'outils un peu meilleur.J'utilise ReSharper pour exécuter des tests MbUnit.J'ai eu des problèmes avec TestDriven.NET exécutant mes méthodes SetUp pour MbUnit.

C'est vraiment un avis personnel de ma part (je suppose que c'est redondant puisqu'il s'agit d'un forum).NUnit, MSTest, ect font tous à peu près la même chose.Cependant je trouve NMock indispensable.

NMock ou tout autre package moqueur n'est pas un test unitaire, mais il facilite grandement la réalisation de tests unitaires.

J'aime MoUnité, euh, Gallion.Le plus important pour moi est de disposer d’un bon support d’outils dans Visual Studio.Pour cela j'utilise Affûteur, qui a un Exécuteur de tests MbUnit.Beaucoup de gens semblent aimer TestDriven.NET en tant que testeur également.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top