2013-08-13 18 views
7

Stavo leggendo tramite this link sulle espressioni di categoria quando si utilizza l'istruzione/include o/exclude. Voglio essere in grado di includere solo test di esecuzione per eseguire due test disponibili o eseguire tutti i test ma utilizzando/include: A + B o/exclude: A. Tuttavia, per qualche ragione, visualizza il numero sbagliato di test da eseguire e/o non eseguire. Perché?Utilizzo di espressioni di categoria nel corridore della console Nunit

Qualcuno può fornirmi un esempio su come associare le espressioni (manipolando il codice sorgente) e aggiungere come eseguire il comando nella console?

Essenzialmente quello che ho fatto è stato:

using System; 
using NUnit; 
using NUnit_Application; 
using NUnit.Framework; 

namespace NUnit_Application.Test 
{ 
[TestFixture] 
[Category("MathS")] 
public class TestClass 
{ 
    [TestCase] 
    [Category("MathA")] 
    public void AddTest() 
    { 
     MathsHelper helper = new MathsHelper(); 
     int result = helper.Add(20, 10); 
     Assert.AreEqual(40, result); 
    } 

    [TestCase] 
    [Category("MathB")] 
    public void SubtractTest() 
    { 
     MathsHelper helper = new MathsHelper(); 
     int result = helper.Subtract(20, 10); 
     Assert.AreEqual(10, result); 
    } 
} 
} 

E la mia linea di comando dichiarazione era NUnit-console /framework:net-4.0 /run:NUnit_Application.Test.TestClass.AddTest C: ~ \ NUnit_Application \ NUnit_Application \ NUnit_Application.Test \ bin \ Debug \ NUnit_Application.Test.dll/include: "MathA"

Il fatto è che la console ha familiarità con ciò che significa i comandi e dice che include Math A category. Tuttavia, mostra che sono stati eseguiti zero test e che non sono stati eseguiti test zero.

Sono in esecuzione NUnit 2.6.2, il corridore della console.

risposta

2

Ecco comando ho usato inizialmente:

nunit-console /framework:net-4.0 /run:NUnit_Application.Test.TestClass.AddTest C:~\NUnit_Application\NUnit_Application\NUnit_Application.Test\bin\Debug\NUnit_Application.Test.dll /include:"MathA" 

ho notato se mi basta chiamare TestClass e non il caso singolo test, funziona:

nunit-console /framework:net-4.0 /run:NUnit_Application.Test.TestClass C:~\NUnit_Application\NUnit_Application\NUnit_Application.Test\bin\Debug\NUnit_Application.Test.dll /include:"MathA" 
0

Penso che sia perché avete tutta la classe con l'attributo:

[Category("MathS")] 

Quindi salta su di esso.

+0

ho tolto [Categoria ("Maths") ] ma ho ancora lo stesso problema. –

+0

Hai ricompilato? – will

+0

Sì, l'ho fatto ricompilare. Forse mi dai un esempio? Voglio solo testare le funzionalità di NUnit e imparare come usarlo per le espressioni di categoria. –