2015-12-14 17 views
5

Vorrei eseguire un piccolo insieme di casi di test NUnit come controllo pre-checkin di integrità e un insieme più completo di casi di test sulle mie esecuzioni di controllo on-checkin e notturno.Nunit: aggiungere una categoria a casi di test specifici

Quindi speravo di poter decorare alcuni casi di test con l'attributo "Categoria" e ho solo quei casi di test eseguiti al momento della pre-registrazione. Tuttavia, non sembra funzionare - se includo la categoria, vengono eseguiti tutti i test case.

C'è un modo per limitare il numero di casi di test eseguiti tramite categorie?

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

Se provo a eseguire questo:

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 

mi mancava solo il caso singolo test (1, 2, 3) da eseguire

risposta

4

Si utilizza l'attributo Categoria per tutte le prove adesso. Modificare il codice per questo :)

[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

ho notato se si esegue "" test dal ReSharper "Unit Test Explorer", verrà eseguito tutti e tre i casi di test di cui sopra. –