2015-12-14 2 views
5

Je souhaite exécuter un petit jeu de tests NUnit en tant que vérification de pré-vérification et un ensemble plus complet de cas de test lors de mes tests de contrôle et de test tous les soirs. Par conséquent, j'avais espéré pouvoir décorer certains cas de tests avec l'attribut "Catégorie", et n'avoir que ces cas de test exécutés au moment de l'enregistrement préalable. Cependant, cela ne semble pas fonctionner - si j'inclue la catégorie, tous les cas de test sont exécutés.Nunit: Ajouter une catégorie à des cas de test spécifiques

Existe-t-il un moyen de limiter le nombre de cas de test en cours d'exécution par catégorie?

[TestFixture] 
public class TestAddition 
{ 
    [TestCase(1, 2, 3), Category("PreCheckin")] 
    [TestCase(2, 4, 6)] 
    [TestCase(3, 6, 9)] 
    public void AdditionPassTest(int first, int second, int expected) 
    { 
     var adder = new Addition(); 
     var total = adder.DoAdd(first, second); 
     Assert.AreEqual(expected, total); 
    } 
} 

Si je tente de lancer ceci:

C:\> "C:\Program files (x86)\Nunit 2.6.4\bin\nunit-console.exe" /nologo^
    NUnitTestCase.dll /labels /include=PreCheckin 
ProcessModel: Default DomainUsage: Single 
Execution Runtime: net-3.5 
Included categories: PreCheckin 
***** NUnitTestCase.TestAddition.AdditionPassTest(1,2,3) 
***** NUnitTestCase.TestAddition.AdditionPassTest(2,4,6) 
***** NUnitTestCase.TestAddition.AdditionPassTest(3,6,9) 

Tests run: 3, Errors: 0, Failures: 0, Inconclusive: 0, Time: 0.0743007328107035 seconds 
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0 

je voulais seulement le cas d'essai unique (1, 2, 3) à exécuter

Répondre

4

Vous utilisez l'attribut Catégorie pour tous les tests à présent. Modifier le code de celui-ci :)

[TestFixture] 
public class TestAddition 
{ 
    [TestCase(1, 2, 3, Category = "PreCheckin")] 
    [TestCase(2, 4, 6)] 
    [TestCase(3, 6, 9)] 
    public void AdditionPassTest(int first, int second, int expected) 
    { 
     var adder = new Addition(); 
     var total = adder.DoAdd(first, second); 
     Assert.AreEqual(expected, total); 
    } 
} 
+0

J'ai remarqué si vous exécutez « <> » Non classé les tests de l'ReSharper « Test Unit Explorer », il se déroulera tous les trois des cas de test ci-dessus. –