Как отмечается в сообщении об ошибке, вы не можете использовать List
s в атрибутах, но вы можете использовать массивы.
[DataTestMethod]
[DataRow(new string[] { "Item1" })]
[TestCategory(TestCategories.UnitTest)]
public void MyTest(string[] myStrings)
{
// ...
}
Чтобы действительно использовать List
или любой другой тип, который вы можете использовать DynamicDataAttribute
.
[DataTestMethod]
[DynamicData(nameof(GetTestData), DynamicDataSourceType.Method)]
[TestCategory(TestCategories.UnitTest)]
public void MyTest(IEnumerable<string> myStrings)
{
// ...
}
public static IEnumerable<object[]> GetTestData()
{
yield return new object[] { new List<string>() { "Item1" } };
}
Метод или свойство, данное DynamicDataAttribute
, должно возвращать IEnumerable
массивов объектов.Эти объектные массивы представляют параметры, которые будут переданы в ваш метод тестирования.
Если у вас всегда есть фиксированное количество элементов в списке, вы можете вообще не использовать списки
[DataTestMethod]
[DataRow("Item1", "Item2")]
[TestCategory(TestCategories.UnitTest)]
public void MyTest(string string1, string string2)
{
// ...
}