Я могу запустить отдельный тестовый сценарий, который без проблем принимает одно строковое значение из командной строки:
Например /run:Namespace.Class.Method("my input string")
Однако эта же процедура, похоже, не работаетдля меня с числовыми входами
Например: /run:Namespace.Class.Method(1,2,3)
В выводе указан правильный ввод как «тест для запуска», но на самом деле не выполняется никаких тестов
РЕДАКТИРОВАТЬ:
Если посмотреть дальше, то, похоже, проблема в тестах, которые принимают более одного аргумента.Использование следующего файла теста:
namespace GetTestsProj
{
[TestFixture]
class NunitConsoleTest
{
[TestCase(1,2,3)]
[Test, Description("A simple test with parameterized numeric inputs")]
public void TestNumeric(int a, int b, int c)
{
Assert.AreEqual(c, a + b);
}
[TestCase("My String")]
[Test, Description("A simple test with parameterized string input")]
public void TestSingleString(string a)
{
Assert.AreEqual("My String", a);
}
[TestCase("String1", "String2")]
[Test, Description("A simple test with parameterized numeric inputs")]
public void TestTwoStrings(string a, string b)
{
Assert.AreEqual("String1", a);
}
}
}
Вызов nunit-console.exe /run:GetTestsProj.NunitConsoleTest GetTestsProj\GetTestsProj\bin\debug\GetTestsProj.dll
правильно выполняет все 3 теста
Вызов nunit-console.exe /run:GetTestsProj.NunitConsoleTest.TestNumeric GetTestsProj\GetTestsProj\bin\debug\GetTestsProj.dll
правильно запускает 1 тест
Вызов nunit-console.exe /run:"GetTestsProj.NunitConsoleTest.TestSingleString(\"My String\")" GetTestsProj\GetTestsProj\bin\debug\GetTestsProj.dll
правильно запускает 1 тестовый случай
Однако вызов nunit-console.exe /run:GetTestsProj.NunitConsoleTest.TestNumeric(1,2,3) GetTestsProj\GetTestsProj\bin\debug\GetTestsProj.dll
запускает 0 тестовых случаев
И аналогично вызов nunit-console.exe /run:"GetTestsProj.NunitConsoleTest.TestTwoStrings(\"String1\",\"String2\")" GetTestsProj\GetTestsProj\bin\debug\GetTestsProj.dll
запускает 0 тестовых случаев
Хотя nunit кажется для правильного распознавания ввода /run
:
Selected test(s): GetTestsProj.NunitConsoleTest.TestNumeric(1,2,3)
Tests run: 0, Errors: 0, Failures: 0, Inconclusive: 0, Time: 0 seconds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
и
Selected test(s): GetTestsProj.NunitConsoleTest.TestTwoStrings("String1", "String2")
Tests run: 0, Errors: 0, Failures: 0, Inconclusive: 0, Time: 0.0156256 seconds
Not run: 0, Invalid: 0, Ignored: 0, Skipped: 0
Это все с использованием NUnit 2.5.9.10348
Меня интересует,это ошибка пользователя или неподдерживаемая функциональность.Это было бы очень полезно для того, что я пытаюсь сделать.