Более подробную информацию о ReportNG можно найти на его веб-странице , но когда я попытался использовать библиотеку AppInfo в сборках Maven, работающих с CI-сервера, у меня возникла проблема, чтобы быстро найти какое-либо руководство по его использованию с Maven. К счастью, есть примеры для Ant и Gradle, поэтому я смог разобраться в этом, но я надеюсь, что с этим постом все желающие использовать ReportNG с Maven смогут достичь этого без каких-либо проблем в течение нескольких минут.
Во-первых, в pom.xml необходимо добавить дополнительную зависимость:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
|
< dependencies > < dependency > < groupId >org.uncommons</ groupId > < artifactId >reportng</ artifactId > < version >1.1.2</ version > < scope >test</ scope > < exclusions > < exclusion > < groupId >org.testng</ groupId > < artifactId >testng</ artifactId > </ exclusion > </ exclusions > </ dependency > (...) </ dependencies > |
Обычно в нашем проекте используется более новая версия TestNG, поэтому зависимость ReportNG должна быть исключена.
Далее необходимо настроить плагин Surefire:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
< build > < plugins > < plugin > < groupId >org.apache.maven.plugins</ groupId > < artifactId >maven-surefire-plugin</ artifactId > < version >2.5</ version > < configuration > < properties > < property > < name >usedefaultlisteners</ name > < value >false</ value > </ property > < property > < name >listener</ name > < value >org.uncommons.reportng.HTMLReporter, org.uncommons.reportng.JUnitXMLReporter</ value > </ property > </ properties > < workingDirectory >target/</ workingDirectory > </ configuration > </ plugin > (...) </ plugins > </ build > |
ReportNG использует двух репортеров, подключаемых к TestNG. JUnitXMLReporter генерирует XML-сводку запущенных тестов. Он используется для инструментов (например, CI-сервер). HTMLReporter создает удобочитаемый отчет HTML. По умолчанию прослушиватели TestNG должны быть отключены.
После пробного запуска я добавил также свойство workingDirectory, которое приводит к тому, что speed.log (файл, созданный движком Velocity, который используется внутри ReportNG) помещается в целевой каталог вместо основного каталога проекта (и поэтому удаляется командой «mvn clean»).
Еще кое-что. К сожалению, jar ReportNG недоступен в центральном репозитории Maven, поэтому может потребоваться добавить репозиторий java.net в файл settings.xml.
1
2
3
4
5
6
7
|
< repositories > < repository > < id >java-net</ id > </ repository > (...) </ repositories > |
Это все. Теперь «mvn clean test» должен сгенерировать красивый HTML-отчет для множества тестов, охватывающих наш проект.
Ссылка: лучше смотреть отчеты о тестировании HTML для TestNG с ReportNG — руководство Maven от нашего партнера по JCG Марцина Заячковского в блоге Solid Soft .