Я пишу NUnit Test для асинхронных методов и использую отчеты по экстентам для отчета о результатах. ExtentTest, связанный с моим тестом, будет выполнен, как только завершится выполнение ожидающего шага, когда метод теста завершится, и я больше не смогу получить доступ к ExtentTest для какой-либо цели ведения журнала. Есть ли проблемы с моим кодом или это ожидается?
Вот мой метод испытаний:
[Test, RequiresThread]
public async Task GetList()
{
try
{
ReportHelper.ExtentTestInfo("system.readResources() method is called");
Resources resources = await system.readResources();
ReportHelper.ExtentTestInfo("system.readResources() method finished and responded");
//Test Assertions
}
}
Вот мой класс ReportHelper:
public class ReportHelper
{
private static ExtentReports TestReportHTML = new ExtentReports();
var htmlReporter = new ExtentV3HtmlReporter("Test_Run_Report_" + @".html");
TestReportHTML.AttachReporter(htmlReporter);
[ThreadStatic] private static ExtentTest _extentTest;
_extentTest = TestReportHTML.CreateTest(testName); //testName is passed during [SetUp]
public static void ExtentTestInfo(string testInfo)
{
_extentTest.Info(testInfo);
}
}
Как только вызов await выполнен, передается статус _extentTest, и на следующей строке я получаю исключение NullReferenceException для _extentTest