Je suis nouveau à TDD et je suis à la recherche d'options pour tester mon unité Visual Studio 2010. Cette solution est une application Web MVC3, que je suis en essayant pour utiliser DDD avec IoC, référentiel, et les modèles d'unité de travail. Il utilise également EF4 & les modèles EF4 POCO. (J'ai essayé de modéliser une grande partie de la Microsoft N-layer App, empruntant également des modèles de conception d'un couple d'autres blogs).Quelles sont les options préférées, aujourd'hui, pour les tests unitaires dans Visual Studio 2010?
J'ai recherché et lu à ce sujet pendant quelques heures, et il semble que je trouve des informations contradictoires partout où je me tourne. Une grande partie de ceci est due aux vieux résultats apparaissant, et aux options changeantes pour Visual Studio 2010.
Je sais qu'il y a plusieurs options, mais encore une fois, j'ai du mal à discerner des options périmées des options plus récentes, et là Il y a une certaine ambiguïté dans les références que les gens utilisent. Même le popular discussion a ici quelques informations anciennes/ambigües/conflictuelles.
Par exemple:
Y at-il une différence entre MSTest, Visual Studio Unit Testing Framework et
Microsoft.VisualStudio.TestTools.UnitTesting
? Si oui, quoi? Il semble que ce soit différent, mais ont été incorrectement référencés dans certaines discussions que j'ai vues. Puisque l'auteur de NUnit a également écrit xUnit, cela signifie-t-il que xUnit remplace NUnit, rendant ainsi NUnit obsolète? Il semble que certains, même aujourd'hui, préfèrent NUnit. Mais si NUnit est obsolète, pourquoi commencer aujourd'hui en utilisant NUnit sur xUnit? Si NUnit n'est pas obsolète, cela signifie-t-il que xUnit ne décolle pas comme prévu? Pourquoi l'auteur continuerait-il à soutenir deux outils apparemment redondants?Lequel de ceux-ci s'intègre dans VS2010 sans avoir à utiliser séparément des lignes de commande pour tester, ou avoir à acheter des outils comme TestDriven.Net? (J'ai ReSharper, cependant, si cela supporte l'un de ceux-ci.)
Y a-t-il eu récemment des changements notables à l'un de ceux-ci qui rendraient les anciennes discussions invalides?
Y a-t-il d'autres éléments que je devrais considérer en plus ou en plus de ceux que j'ai mentionnés ci-dessus?
Je ne cherche pas nécessairement une comparaison approfondie (si vous êtes plus que bienvenus pour fournir un si vous le souhaitez), mais plus d'un consensus mis à jour du courant outils qui sont utilisés aujourd'hui pour le nouveau développement VS2010. En surface, le «Visual Studio Unit Testing Framework» semble s'intégrer parfaitement dans le VS2010 (Pro) dès sa sortie de la boîte, et semble facile à mettre en place rapidement, contrairement à d'autres, même si c'est un peu gonflé. Mais depuis que je suis nouveau, je ne veux pas entrer dans les trois mois à venir, puis réaliser que je me suis peinte dans un coin juste parce que cela semblait plus facile à ramasser. Je sais aussi que cette question peut être considérée comme une «mauvaise» question par certains, en raison de sa nature ouverte et large, mais alors que ce sont des questions différentes, je pense qu'ils sont tous liés, et tous découlent de mon général confusion sur les points ambigus et contradictoires que je trouve sur les tests unitaires dans VS2010.
Merci d'avance.
EDIT: Ceci est censé être plus d'une discussion mise à jour de près de trois ans popular discussion I lié à ci-dessus. Cette discussion a quelques bons points, mais beaucoup de choses (pourraient) avoir changé en trois ans, et j'aime une évaluation plus actuelle du sujet.
Merci, Gishu. Je me demande si les fans de NUnit sont ceux qui ont "grandi" comme vous l'avez fait. Par exemple, si quelqu'un commençait à apprendre aujourd'hui, à partir de zéro, serait-il préférable de commencer avec xUnit? Peut-être que NUnit n'est pas encore déprécié *, mais peut-être que le but ultime est que xUnit remplace NUnit. Ce sont les questions avec lesquelles je me bats. Aussi, pour # 1, vous dites qu'ils sont identiques. Mais si vous consultez les liens que j'ai publiés (il est vrai qu'ils proviennent de Wikipédia), ils affirment qu'ils ne sont pas les mêmes. D'où les faits contradictoires que je suis en train de lire. –
@Jerad Rose - il semble que l'exe TestRunner s'appelle MSTest et vous devez vous référer à l'assembly "VS Unit Testing Framework" pour écrire les DLL que le coureur va consommer. Je ne sais pas pourquoi le Runner et le framework ont besoin de noms différents ... xUnit sort quelque part autour de 2007-8. 3 ans est une longue période de rattrapage. Aussi le "Pourquoi avons-nous construit xUnit.Net" n'est toujours pas assez convaincant (pour moi). RoyOsherove a un post plus détaillé http://osherove.com/blog/2007/9/21/xunitnet-aims-to-be-the-next-nunit-but-its-too-soon.html même si c'est un peu daté. Voir aussi http://stackoverflow.com/questions/261139. – Gishu
Vous pouvez également essayer tous les deux pour un temps non-trivial pour qu'il s'enfonce. Ensuite, prenez une décision – Gishu