Использование выражений категорий в NUnit console runner

Я читал до конца этой ссылке на выражениях категорий при использовании оператора /include или / exclude. Я хочу иметь возможность включать только запуск теста для запуска из двух доступных тестов или запускать все тесты, но используя /include:A+B или /exclude:A. Однако по какой-то причине он отображает неправильное количество тестов для запуска и/или не запускается. Почему так?

может ли кто-нибудь предоставить мне пример о том, как классифицировать выражения (путем манипулирования исходным кодом) и добавить, как выполнить команду в консоли?

по существу, то, что я сделал, было:

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

и мой оператор командной строки был nunit-консоль / фреймворк: net-4.0 / run: NUnit_Application.Тест.класс TestClass.AddTest C:~NUnit_ApplicationNUnit_ApplicationNUnit_Application.ТестbinDebugNUnit_Application.Тест.dll / включить: "MathA"

дело в том, что консоль знакома с тем, что означают команды, и говорит, что она включила Math a category. Тем не менее, это показывает, что нулевые тесты выполнены и нулевые тесты не выполнены.

Я запускаю NUnit 2.6.2, консольный бегун.

2 ответов


вот команда, которую я использовал изначально:

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"

Я заметил, что если я просто вызываю TestClass, а не отдельный тестовый случай, он работает:

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"

Я думаю, это потому что у вас весь класс с атрибутом :

[Category("MathS")]

поэтому он пропускает его.