Я использую адаптер allure-testng (2.12.1) в моих тестах java testng. У меня есть тесты, которые используют @DataProvider. Мой тест реализует ITest для изменения имени экземпляра метода теста во время выполнения. Когда я запускаю тесты, я вижу разные имена методов тестирования, но в allure-report он показывает один и тот же метод тестирования для каждого запуска теста. Как настроить отчет Allure, чтобы он отображался как IDE?
@Listeners({AllureTestNg.class, EmailableReporter.class})
public class AllureTests implements ITest {
private ThreadLocal<String> testName = new ThreadLocal<>();
@Override
public String getTestName() {
return testName.get();
}
@BeforeMethod(alwaysRun = true)
public void BeforeMethod(Method method, Object[] testData){
testName.set(testData[0].toString());
}
@Test (dataProvider = "testData")
@Description("Hi")
public void myTest(String value){
Assert.assertNotNull(value);
System.out.println(String.format("Test Instance Name: %s", Reporter.getCurrentTestResult().getTestName()));
}
@DataProvider(name = "testData")
public Iterator<Object[]> getTestAPICases() {
List<Object[]> testList=new ArrayList<Object[]>();
testList.add(new Object[]{"testOne"});
testList.add(new Object[]{"testTwo"});
testList.add(new Object[]{"testThree"});
return testList.iterator();
}
}
Ожидаемое:
testOne
testTwo
testThree
Фактический:
MyTest
MyTest
MyTest