Добрый день!
Я пытаюсь подключить листенер ReportNG в проект на Maven.
Добавила в pom файл зависимости
> <dependency>
> <groupId>org.testng</groupId>
> <artifactId>testng</artifactId>
> <version>6.8</version>
> </dependency>
> <dependency>
> <groupId>com.google.inject</groupId>
> <artifactId>guice</artifactId>
> <version>3.0</version>
> </dependency>
> <dependency>
> <groupId>velocity</groupId>
> <artifactId>velocity</artifactId>
> <version>1.4</version>
> <scope>test</scope>
> </dependency>
> <dependency>
> <groupId>org.uncommons</groupId>
> <artifactId>reportng</artifactId>
> <version>1.1.2</version>
> <exclusions>
> <exclusion>
> <groupId>org.testng</groupId>
> <artifactId>testng</artifactId>
> </exclusion>
> </exclusions>
> </dependency>
Добавила листенер в файл конфигурации TestNG:
> <listeners>
> <listener class-name="org.uncommons.reportng.HTMLReporter" />
> </listeners>
При запуске mvn test получаю exception до выполнения тестов:
T E S T S
-------------------------------------------------------
Running TestSuite
org.apache.maven.surefire.util.SurefireReflectionException: java.lang.reflect.InvocationTargetException; nested exception is java.lang.reflect.InvocationTargetException: null
java.lang.reflect.InvocationTargetException
Для сравнения:
Если запускать через сам TestNG, exception такой:
org.testng.TestNGException:
Listener org.uncommons.reportng.HTMLReporter was not found in project's classpath
at org.testng.TestNG.initializeConfiguration(TestNG.java:907)
at org.testng.TestNG.run(TestNG.java:1031)
at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Если добавить ReportNG, Guice и Velocity в build path (ровно те же версии что указаны в pom файле maven) - то все работает.
То есть видимо, при сборке через maven недовыкачиваются зависимости. Что я делаю не так?