2013-08-13 13 views
7

Czytałem przez this link wyrażeń kategorii przy użyciu/include lub/exclude instrukcja. Chcę móc włączyć tylko test uruchamiania, aby zabrakło dwóch dostępnych testów lub uruchomić wszystkie testy, ale za pomocą opcji/include: A + B lub/exclude: A. Jednak z jakiegoś powodu wyświetla niepoprawną liczbę testów, które należy uruchomić i/lub nie uruchomić. Dlaczego?Korzystanie z wyrażeń kategorii w konsoli Nunit biegacz

Czy ktoś może podać mi przykład kategorii wyrażeń (poprzez manipulowanie kodem źródłowym) i jak uruchomić polecenie w konsoli?

Zasadniczo, co zrobiłem, było:

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

A moja linia poleceń oświadczenie było nunit-konsola /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"

Chodzi o to, że konsola jest zaznajomiona z tym, co oznaczają komendy i mówi, że zawiera kategorię Math A. Jednakże pokazuje to, że testy zerowe zostały zakończone, a testy zerowe nie zostały przeprowadzone.

Używam NUnit 2.6.2, konsoli biegacza.

Odpowiedz

2

Oto polecenie użyłem początkowo:

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" 

Zauważyłem, jeśli po prostu zadzwonić TestClass a nie indywidualny przypadek testowy, to działa:

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

Myślę, że to dlatego, że masz całą klasę z atrybutem:

[Category("MathS")] 

więc pomija ona nad nim.

+0

usunąłem [Category ("matematyka") ], ale nadal mam ten sam problem. –

+0

Czy dokonałeś rekompilacji? – will

+0

Tak, dokonałem ponownej kompilacji. Może daj mi przykład? Chcę przetestować funkcje NUnit i nauczyć się go używać do wyrażeń kategorii. –