Документы довольно ясны. Вместо того, чтобы возвращать List<string>
, вам нужно вернуть список тестовых случаев, например, напрямую используя IEnumerable<TestCaseData>
:
public static IEnumerable<TestCaseData> TestCombinationsProvider()
{
List<string> resultList = new List<string>();
List<string> parametersList = new List<string>();
foreach (var item in ReturnDynamicPararmetersEntityProperties())
{
parametersList.Add(item.Name);
}
for (int i = 0; i < parametersList.Count; i++)
{
for (int j = i + 1; j < parametersList.Count; j++)
{
yield return new TestCaseData(parametersList[i] + " AND " + parametersList[j]);
}
}
}
Для этого метода есть несколько разных подписей, например, также возвращая коллекцию object[]
. Но я не буду их рекомендовать, так как вы теряете многое из того, что вы можете сделать с TestCaseData
, например, устанавливая каждый тест Name
или его Description
.
. Тогда украсьте свой актуал Метод испытания:
[Test]
[TestCaseSource(nameof(TestCombinationsProvider))]
public void Test1(string p)
{
}
РЕДАКТИРОВАТЬ: Когда ваш TestCombinationsProvider
-метод находится в другом классе, используйте вместо этого:
[TestCaseSource(typeof(TheClass), nameof(TheClass.TestCombinationsProvider))]