Использование выражений категорий в 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")]
поэтому он пропускает его.