我有一个maven项目,它依赖于测试项目。我想在这个项目上运行testNG:
<groupId>com.myGroup</groupId>
<artifactId>assembly</artifactId>
<version>1.0.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.4</version>
</dependency>
<dependency>
<groupId>com.myGroup</groupId>
<artifactId>myArtifact</artifactId>
<version>1.0.0-SNAPSHOT</version>
<type>test-jar</type>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12.4</version>
<configuration>
<test>MyTest</test>
<suiteXmlFiles>
<suiteXmlFile>test-suites/all-test.xml</suiteXmlFile>
</suiteXmlFiles>
</configuration>
</plugin>
</plugins>
</build>
但是在上面的项目中运行 mvn clean install 时没有任何反应。是否可以设置maven-surefire-plugin来运行testNG,例如。二元依赖?
编辑:
此:
http://softwaremavens.blogspot.dk/2009/09/running-tests-from-maven-test-jar-in.html
似乎是现货。如果可以直接从依赖项运行代码而不必解压缩它可能会很好。
答案 0 :(得分:0)
乍一看,我没有看到你的pom.xml中的任何缺陷。
请参考1我认为您正在寻找生成和执行测试二进制文件的内容。
1。 http://dharshanaw.blogspot.com/2012/10/how-to-execute-testng-tests-in-side.html
答案 1 :(得分:0)
现在可以使用Maven Surefire v2.15。只需将以下类型的配置添加到surefire插件:
<build>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.15</version>
<configuration>
<dependenciesToScan>
<dependency>com.group.id:my-artifact</dependency>
<dependency>com.group.id:my-other-artifact</dependency>
</dependenciesToScan>
...
</configuration>
...
</plugin>
...
</build>
您还应该在依赖项部分中声明实际的依赖项:
<dependencies>
<dependency>
<groupId>com.group.id</groupId>
<artifactId>my-artifact</artifactId>
<type>test-jar</type>
<version>1.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.group.id</groupId>
<artifactId>my-other-artifact</artifactId>
<type>test-jar</type>
<version>1.1</version>
<scope>test</scope>
</dependency>
</dependencies>