Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Как по уму создавать отчеты для параметризированных Junit тестов? (Java+Junit+Ant)


(Galina.Bratchik) #1

Здравствуйте! Возможно, кто-то сталкивался уже с подобной задачей: у меня есть параметризированные тесты Junit (@RunWith(Parameterized.class), в методе с аннотацией @Parameters создается список параметров для тестов)

Все тесты запускаются с помощью Ant задачей junit. Все данные по тестам средствами того же junit собираются в xml файлах с совершенно определенной структурой 

<testsuite><properties>...</properties><testcase/> .....<testcase/></testsuite>

По этим данным так же средствами junit строится html отчет с помощью junitreport задачи ant и на основе xsl файла.

 

Проблема состоит в том, что в условии параметризированных тестов в результирующих xml (а соответственно и в отчете) все тесты имеют имена myTest[1], myTest[2] ... myTest[N], то есть имя тестового класса и порядковый номер в списке параметров.

Хотелось бы при формировании отчета иметь информацию о том, с каким параметром запускался каждый конкретный тест.

Единственный вариант, который я нашла, это указание параметра name для аннотации @Parameters.

То есть, если указать @Parameters (Test with: {0}, {1}), то имя теста будет содержать значение первого и второго параметра теста.

Проблема в том, что это неудобно для отчета все равно, вычленять из названия теста значения параметров как минимум неудобно. А парсить строку с названием не представляется возможным в условиях данной архитектуры.

 

Поэтому и пишу сюда, дорогие коллеги! Есть ли возможность в xml junit'а в данные о тесте добавить какую-то дополнительную информацию?

Или, альтернативно, возможно, существуют другие внятные возможности в отчетах о прохождении параметризированных тестов указывать всю информацию о том, какие значения принимали эти параметры в каждом тесте?

 

Заранее спасибо!


(Sergey Korol) #2

C testng помог бы. С junit, увы, не работаю.

В testng есть возможность задания параметров в самой xml. Эти параметры потом без труда можно вытянуть из контекста. Со вставкой в репорт конечно посложнее все, но тем не менее, способы есть.