Si cette question a été posée il y a 10 ans, la situation a vraiment changé.
Voici une bonne vidéo complète qui compare xUnit, NUnit et MSTest avec des exemples de code : https://www.youtube.com/watch?time_continue=3654&v=rLbF8u46tfE&feature=emb_logo Une fois, vous verrez qu'ici et là, Nunit a quelque chose, tandis que d'autres n'en ont pas ou en ont moins.
Je ne dirai pas de choses tolérantes sur xUnit (ainsi que sur MSTest) - un bac à sable vert mal documenté avec une compréhension brisée du TDD, une mauvaise documentation et un manque de fonctionnalités intéressantes. En outre, TDD est un concept, pas un cadre ou quelque chose à être limité par IDE ou cadre. Si "vous" avez besoin de frontières pour suivre TDD et ne pas écrire un mauvais code, alors vous devez lire des livres, et non pas concevoir un nouveau framework ou utiliser xUnit.
Qu'est-ce que xUnit ?
- presque aucune documentation
- pas de setupt et teardown, des wrappers écrits manuellement à la place
- pas de onetimesetup (imaginez que vous écrivez des tests d'intégration ou d'e2e et que vous devez configurer les données de la base de données par défaut)
- pas de ligne d'écriture
- pas de contexte de test
- aucun autre attribut cool qui aide à mieux contrôler et décorer les tests
- assertions erronées
- mauvais paramétrage du parallélisme
MSTest est le seul concurrent pour cela. Est-ce que quelqu'un dans l'entreprise remplace le framework par MSTest ? Je pense que non.
NUnit est un framework moderne et puissant, facile à utiliser et à apprendre, qui est au top 1 depuis plus de 20 ans. Il a une documentation complète, une bonne architecture (xUnit n'a pas Setup et onetimesetup ? Sérieusement le remplacer par un constructeur ? C'est comme nommer un bug comme une fonctionnalité au lieu de le corriger), une bonne communauté et aucun problème d'enfance.