NUnit send TestContext to TestCaseSource
Нужно сделать серию тестов на NUnit, использующих TestCaseSource для обработки нескольких тест-кейсов, генерируемых из файла Markdown с названием, совпадающим с именем тестового метода. Для этого есть класс MdFileTestDataSource с методом GetData, возвращающим список параметров в зависимости от аргументов тестового метода. Для этого необходимо, чтобы GetData получал каким-либо образом информацию о тестовом методе - имя и список аргументов (TestContext или что-то типа этого).
Примеры тестов:
[Test]
[TestCaseSource(typeof(MdFileDataTestSource), nameof(MdFileDataTestSource.GetData))]
public void RoutesAreNotFound(RoutePlan routePlan)
{
/*...*/
Assert.IsFalse(/*...*/);
}
[Test]
[TestCaseSource(typeof(MdFileDataTestSource), nameof(MdFileDataTestSource.GetData))]
public void SimpleTurnsDurationsAndDistances(RoutePlan routePlan, double expectedDurationInSec, double expectedDistanceInM)
{
/*...*/
Assert.IsTrue(/*...*/);
Assert.IsTrue(/*...*/);
}
Класс MdFileDataTestSource:
public class MdFileDataTestSource
{
public static IEnumerable<object[]> GetData()
{
var parameters = /*test method arguments*/;
string methodName = /*test method name*/;
string fileName = "tests/" + methodName + ".md";
/*читаем и парсим маркдаун файл*/
foreach (/*...*/)
yield return outList.ToArray();
}
}
Вся проблема в том, что я в GetData не могу никак получить информацию о текущем тестовом методе (имя и параметры).