2015-12-14 13 views
5

Ich möchte eine kleine Menge von NUnit-Testfällen als Vorab-Check-Prüfung und eine umfassendere Reihe von Testfällen bei meinen Eincheck- und nächtlichen Testläufen ausführen.Nunit: Kategorie zu bestimmten Testfällen hinzufügen

Also hatte ich gehofft, dass ich bestimmte Testfälle mit dem "Category" -Attribut dekorieren konnte, und nur diese Testfälle zur Vorab-Check-Zeit laufen lassen. Das scheint jedoch nicht zu funktionieren - wenn ich die Kategorie einschließe, werden alle Testfälle ausgeführt.

Gibt es eine Möglichkeit, die Anzahl der Testfälle zu beschränken, die über Kategorien ausgeführt werden?

[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); 
    } 
} 

Wenn ich versuche, dies auszuführen:

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 

Ich war nur die einzige Testfall wollen (1, 2, 3) zu

laufen

Antwort

4

Sie Kategorie-Attribut für alle Tests verwenden jetzt. Code ändern zu diesem :)

[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

ich bemerkt habe, wenn Sie laufen „“ Tests aus der ReSharper „Unit-Test-Explorer“, wird es alle drei der oben genannten Testfälle laufen. –

Verwandte Themen