Это довольно простое, но раздражающее поведение, с которым я сталкиваюсь с NUnit:
У меня есть несколько таких тестов:
[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
public void MyClass_MyOtherMethod (5,3, System.Int64 []) не удалось
Разница заключается в том, что с моими другими тестами он выделяет каждую TestCase как отдельный флажок в тестовом списке, тогда как этот не отображается, и у меня нет деталей, пока я не запустил его в отладчике относительно того, что пошло не так, и где. Меня немного беспокоит, как этот тест будет вести себя на машине сборки. Кто-нибудь знает, что происходит и почему?