2010-11-24 61 views
6

En MbUnit on peut faire quelque chose comme ceci:Peut-tests unitaires MSTEST être regroupés dans les catégories

[Test] 
[TestCategory("Bad Arguments")] 
[TestCategory("Fast")] 
[ExpectedException(typeof(ArgumentNullException))] 
public void TestCopyWithBadHref() 
{ 
    . . . 
} 

Remarque ces deux:

[TestCategory("Bad Arguments")] 
[TestCategory("Fast")] 

Depuis TeamBuild peut être intégré à MSTEST pour effectuer Check- fermée ins et/ou courir la nuit, c'est une super fonctionnalité! Cependant, étant donné que certains tests peuvent durer longtemps, il est pratique de les séparer en tests qui doivent être exécutés avant la confirmation de chaque enregistrement, et les tests qui doivent être exécutés la nuit en raison de leur durée ainsi que d'autres tests. facteurs.

Une façon d'y parvenir pourrait être de créer plusieurs projets - un pour les tests lents, un pour les tests rapides, etc. Cependant, cette séparation est peu pratique. Les dépendances de projet ne sembleraient pas aussi naturelles, et certains tests peuvent être dans plusieurs catégories logiques.

Ce serait génial si MsTest avait quelque chose de similaire à ce que MbUnit a eu depuis longtemps. Par exemple, on peut exécuter MbUnit.Cons.exe et spécifier la catégorie à utiliser avec un commutateur de ligne de commande.

Comment puis-je obtenir la même chose en utilisant MsTest? Nous sommes un magasin MSFT, et je n'ai pas réussi à vendre MbUnit à mes collègues.

Répondre

12

Vous pouvez utiliser l'option/catégorie pour filtrer les tests VS 2010.

Il utilise le testcategory attribute. Détails sur le /category option.

C# code pourrait ressembler à ceci:

[Description("test 123456"), TestCategory("Edit Tests"), TestCategory("Non-Smoke"), TestMethod] 
public void VerifyEditsPersist() 
+1

Qu'est-ce que l'attribut ressemble dans le code C#? Avez-vous un exemple ou un lien que je peux étudier? –

+1

Est-il possible de créer un profil .testsettings dans Visual Studio pour exécuter des tests avec une certaine catégorie, ou passer certains tests par catégorie? Je comprends que c'est faisable depuis la ligne de commande ... mais qu'en est-il de l'IDE? –

+1

In test View Vous pouvez filtrer les tests en fonction de la catégorie – sam