VS 2013 MSTest vs nUnit vs xUnit
Je me rends compte il y a eu BEAUCOUP de questions sur ce sujet mais de toute façon je n'ai pas trouvé un qui adresse mes besoins.
Mon équipe est à la recherche pour commencer les tests Unitaires automatisés de notre application. Nous n'avons jamais fait avant, et personne de l'équipe a beaucoup d'expérience avec elle. J'ai été demandé de recherche et de trouver un cadre pour l'automatisation de nos Tests Unitaires. Jusqu'à présent, j'ai rétréci les choix à MSTest, NUnit et xUnit.
Tout à travers l'internet, j'ai lu des commentaires négatifs sur les MSTest, mais il semble l'outil le plus pratique pour moi pour notre but.
1) de Notre application .NET
2) Nous utilisons la licence VS IDE pour notre développement au sein de l'équipe.
3) de la Source de Contrôle est Team Foundation Server 2010
4) Nous envisageons d'intégrer CI/CD dans le cadre de notre logiciel de processus de livraison.
J'ai l'impression que MSTest intègre à droite dans cette configuration et fournit la plus propre interface pour nous de travailler sur. Est-il un avantage significatif avec NUnit ou xUnit sur MSTest que nous devrions prendre en compte?
Double Possible de Visual Studio 2013 MSTest vs NUnit
OriginalL'auteur Nakul Shukla | 2016-06-27
Vous devez vous connecter pour publier un commentaire.
Je suis partial parce que je travaille sur NUnit, mais l'avantage de NUnit ou xUnit est que les deux cadres d'offrir davantage de fonctionnalités, comme guidées par les données des tests, l'exécution en parallèle et une foule de caractéristiques de pointe.
Cela dit, il n'y a rien de mal avec MSTest surtout si votre équipe n'est pas très connu avec les tests unitaires. Il est bien intégré à Visual Studio et TFS, donc, l'ajout de tests est assez indolore. Les deux NUnit et xUnit intégrer bien aussi, mais ils peuvent exiger plus de l'installation.
Aller de l'avant et de commencer avec MSTest. C'est une simple introduction aux tests unitaires. Si vous commencez à courir dans certaines limites de MSTest, il est assez facile de migration de NUnit ou xUnit. Pour les cas simples, c'est juste une question de changer vos packages NuGet et ensuite rechercher/remplacer les attributs.
Quand il s'agit de choisir entre xUnit et NUnit, les deux sont d'excellents choix, mais chacun a une philosophie différente. NUnit tend à être plus flexible et permet une gamme de tests de styles et peut être utilisé pour des tests d'intégration. Cependant, il est suffisamment souple pour vous permettre de vous tirer dans le pied et vous permet d'écrire des tests que les puristes le désapprouver. NUnit laisse le choix à vous.
xUnit toutefois tendance à être un peu plus opiniâtre et vous pousse vers la fosse de la réussite avec des tests unitaires. Dans mon expérience, il est idéal pour les verts des projets sur le terrain, mais il peut faire des tests de mal architecturé brun-projets de terrain difficile sans refactoring.
En fin de compte, vous ne pouvez pas vous tromper avec l'un de ces frameworks de test.
2000? lol @Charlie, wow!
Un post intéressant pour xUnit github.com/xunit/xunit/issues/350. Affirmation message d'erreur a disparu et ne sera pas de retour dans xUnit. Quand je les vois, la fermeture le problème alors qu'il est encore controversée comme ça, je ne suis pas sûr que je devrais avoir la foi pour leur développement futur. Comment pouvait-on savoir qu'ils ne seront pas enlever quoi que ce soit d'autre au nom de la "pureté" de nouveau?
N'est-ce pas l'un des points d'essais d'écriture de refactoriser mal architecturé code?
Oui, mais si vous ne pouvez pas écrire les tests sans refactoring tout d'abord, vous êtes coincées 😉
OriginalL'auteur Rob Prouse
Je voudrais ajouter un autre aspect négatif de XUnit.
Il n'a pas même une documentation de base, rien au-delà de "Get Started". Pas d'API, rien.
OriginalL'auteur newprint
Voici une brève Analyse des 3 Cadres et classés par couleur.
Légende de la Coloration:
MSTest il est bon que parce qu'il est simple et intégré dans Visual Studio et il vient de Microsoft. Son pas assez souple et pas très extensible. Mais plus que juste un test unitaire cadre, il prend également en charge les tests d'Intégration, Web (charge) de tests de performance. Les 2 autres sont de la pure Unité de Frameworks de Test. Donc, je dirais MSTest est "Jack de tous les Métiers, Maître de rien."
NUnit est mon choix parce que sa été la meilleure façon constante depuis assez longtemps. Il est plus souple et simple avec une très bonne base d'utilisateurs, la documentation et le soutien de la communauté.
XUnit est moins de mon choix, car il suit un style un peu différent et, personnellement, je ne vois pas trop l'avantage par rapport à NUnit. Dans certains cas, vous devrez faire de la refactorisation de votre code pour l'adapter dans le cas de test. Mais c'est juste mon avis car il y a beaucoup qui préfère XUnit.
OriginalL'auteur Habeeb