Я использую MsTest версии 16.0.28326.58.
У меня есть метод теста со следующими атрибутами:
[TestMethod, Timeout(10_000), DynamicData("TestData", DynamicDataSourceType.Method)]
public void MyTestMethod(uint value, bool verify)
{
...
}
Метод TestData
выглядит примерно так:
public static IEnumerable<object[]> TestData()
{
for (uint i = 0; i < 100; i++)
{
yield return new object[] { i, GetVerifyValue(i) };
}
}
Возвращает 100 наборов тестовых данных, т.е. 100 различных тестовых случаев. Однако атрибут Timeout
применяется ко всем тестовым примерам в целом:
Когда я запускаю тесты, случаи 0-8 отображаются зеленым цветом. Случай 9 завершается неудачно с сообщением: ... exceeded execution timeout period.
После этого все дальнейшие тесты завершаются неудачно с сообщением ... execution has been aborted.
Это говорит о том, что после однократного завершения Timeout
он отменяет все дальнейшие контрольные примеры.
Есть ли способ указать время ожидания, которое сбрасывается для каждого нового DynamicData
значения?