Пользовательский репортер TestNG включает описание теста вместо имени

Я хочу реализовать собственный репортер для результатов теста TestNG xml. В настоящее время я использую JUnitReportReporter. Мой результат xml в настоящее время выглядит так:

testcase name="testSearchForProductAndVerifyFirstFoundItem" time="55.516" classname="com.jpard.jaf.test.SearchForAnItemTests"

Я просто хочу заменить имя тестового примера описанием теста, как в @Test(description = "Проверить, что первый элемент в результатах - это тот, который ищется"). Как я могу сделать это самым простым способом. Большое спасибо!


person Flup    schedule 07.11.2017    source источник


Ответы (2)


Я сделал это просто, расширив класс JUnitReportReporter и переопределив метод getTestName, чтобы показать в xml-отчете имя и описание метода. Класс выглядит так:

public class CustomReporter extends JUnitReportReporter {

@Override
protected String getTestName(ITestResult tr) {
    return tr.getMethod()
             .getMethodName() + ": " + tr.getMethod()
                                         .getDescription();
}

}

Я надеюсь, что это поможет любому, кто ищет эту проблему.

person Flup    schedule 08.11.2017

Я думаю, вам придется реализовать IMethodInterceptor, который возвращает список экземпляров метода, IMethodInstance, а затем из этого списка получить все экземпляры один за другим, а затем

desc = instance.getMethod().getDescription();

метод получить описание()

Посмотрите здесь

person user1207289    schedule 08.11.2017