NUnit vs Visual Studio 2010 MSTest?
Je me rends compte qu'il y a plus beaucoup de questions à aborder la question générale de NUnit v MSTest pour les versions de Visual Studio 2008 (comme cette une).
Microsoft ont une histoire de faire les choses dans leur 3ème version. Pour MSTest, c'est-à VS2010.
Ont-ils fait avec MSTest? Souhaitez-vous l'utiliser dans un nouveau projet, de préférence à NUnit?
Mes préoccupations spécifiques:
- vitesse
- de l'exécution des tests au sein de CruiseControl.NET (soit en ligne de commande ou de la tâche MSBuild)
- les rapports de couverture de code CC.NET
- vous pouvez exécuter MSTest tests en mode debug
(Nous utilisons ReSharper, donc testez-coureurs ne sont pas un problème pour nous. Nous avons utilisé NUnit pour les quelques dernières années. Nous n'avons pas de TFS.)
Vous devez vous connecter pour publier un commentaire.
Ma recommandation est la suivante: si NUnit vous satisfait - il utiliser, oublier MSTest
Pour corriger certaines informations sur le thread;
J'ai principalement utilisé NUnit, certains xUnit et certains MSTest. Ils semblent fonctionnalité équivalente, mais je n'aime pas le MSTest test runner. Il fonctionne dans visual studio afin qu'il soit foules l'écran ou sur un autre moniteur de façon à chaque fois que je l'onglet visual studio. (Je exécuter NUnit sur un autre moniteur, mais elles ne couvrent pas tout sur ce moniteur à chaque fois que je me concentre visual studio). Il prend trop de clics pour trouver ce test a échoué et pourquoi.
NUnit peut s'exécuter en arrière-plan jusqu'à ce qu'un test échoue, à quel point il vous montre les informations sur les tests de rupture. Cela semble être l'idéal pour garder rouge/vert/refactoriser aller en douceur.
Nope. Même les questions concernant les domaines d'application et la résolution de l'assemblée existent encore. Je voudrais éviter, sauf si vous souhaitez que la nouvelle de la bonté pour les autres tests fonctionnels ou l'intégration avec l'Équipe Système.
Je ne sais pas beaucoup sur CruseControl.net mais vous pouvez déboguer les tests. Nous n'avons pas actuellement l'utilisation de TFS, et que l'MSTest est de travailler pour nous.
Si vous pensez que vous aurez jamais l'exécution de vos tests en mode 64 bits, utiliser NUnit. MsTest est seulement x86.
Une différence majeure entre les deux est que MSTest fait, une copie de la Dll à chaque fois qu'il exécute un test. Si vous êtes en train de faire TDD et l'exécution de vos tests fréquemment, cela peut manger beaucoup d'espace sur le disque dur.
Si vous êtes à l'aide de MSTest, vous pouvez modifier ce paramètre dans Outils > Options > Outils de Test > Exécution d'un Test. "Limiter le nombre de vieux Résultats de Test" est fixé à 25 par défaut dans Visual Studio 2010. J'ai l'habitude de le modifier à 1.
MSUnit s'exécute vos cas de test dans des conditions qui sont différentes de l'exécution effective de l'environnement. Plus précisément, le déploiement de fichiers diffèrent de celles qui sont déployées lorsque vous exécutez votre projet. En dépit de cette hausse, il y a le [DeploymentItem]-Attribut pour spécifier les fichiers qui doivent être déployés par les MSUnit. Donc, si votre application dépend externe
fichiers, tels que
puis MSUnit n'est pas le bon choix, car la MSUnit tests ne jamais couvrir ce que votre système de fichier est va ressembler dans l'environnement d'exécution. Le Projet Visual Studio Fichier de paramètres pour le déploiement de fichiers (Copie toujours, le Contenu, etc.) sont ignorés par le MSUnit coureur. Si ces paramètres ne peuvent pas être testés.