Я считаю, что самый чистый способ - использовать ClassData
для этого, чтобы вы могли заполнять данные для своего теста из любого места. Учтите это:
public class TestData : IEnumerable<object[]>
{
private IEnumerable<object[]> ReadFile()
{
//read your file
}
public IEnumerator<object[]> GetEnumerator()
{
var items = ReadFile();
return items.GetEnumerator();
}
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
}
Конечно, вы можете просто заполнить данные из файла во время фазы организации вашего теста , а затем просто зациклить ваш метод тестирования на данных. Но в этом случае вы потеряете преимущество обнаружения всех неудачных тестов, а не только первого.