Это довольно простой, но некорректное поведение я бегу в с NUnit:NUnit не может распознать TestCase, когда он содержит массив
У меня есть некоторые тесты, как это:
[Test]
[TestCase(1, 2, "hello")]
[TestCase(3, 5, "goodbye")]
public void MyClass_MyMethod(int a, int b, string c)
{
Assert.IsTrue(a < b);
}
Это прекрасно работает и в в панели ReSharper NUnit я могу увидеть, как каждый TestCase получает свой собственный ответ в результате.
У меня есть второй TestCase, который выглядит следующим образом:
[Test]
[TestCase(1, 2, new long[] { 100, 200 })]
[TestCase(5, 3, new long[] { 300, 500 })]
public void MyClass_MyOtherMethod(long a, long b, long[] bunchOfNumbers)
{
Assert.IsTrue(a < b);
}
Когда я запускаю его я вижу это:
один или несколько дочерних тестов были исключения ошибок не имеет StackTrace
общественного недействительными MyClass_MyOtherMethod (5,3, System.Int64 []) не
Разница заключается в том, что с моими другими тестами он выделяет каждую TestCase как отдельный флажок в тестовом списке, тогда как этот не отображается, и у меня нет деталей, пока я не запустил его в отладчике относительно того, что пошло не так и где. Меня немного беспокоит, как этот тест будет вести себя на машине сборки. Кто-нибудь знает, что происходит и почему?
также может быть тест ReSharper бегун, который не поддерживает его. –
Хорошая точка, проверит консоль NUnit. – glenatron
Какие версии NUnit и Resharper вы используете? Я помню, что некоторые проблемы были исправлены в более поздних версиях одного из них. –