Более подробную информацию о 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 .