我有一个1.0版本的项目,包含3个包(maven项目)。
project1(版本1.0)
--------后向测试(src / test / java + pom.xml)
-------- pack1(src / main / java + pom.xml)
-------- pack2(src / main / java + pom.xml)
我想保存带有测试的反向测试jar,以便在版本1.x中使用,其中x> 1.
版本1.x的项目将显示如下:
project1(版本1.1)
-------- run-tests(pom.xml)
-------- pack1(src / main / java + pom.xml)
-------- pack2(src / main / java + pom.xml)
问题:为了让我运行测试,后向测试和运行测试包中的pom.xml文件应该如何?
我必须提一下,后向测试具有pack1和pack2的依赖性
谢谢。
编辑:
我在运行测试pom.xml中尝试了类似的东西:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.15</version>
<configuration>
<dependenciesToScan>
<dependency>groupId:artifactId</dependency>
</dependenciesToScan>
</configuration>
</plugin>
但它不起作用。
Edit2:@andolsi zied的答案可能很好,但是在mvn clean install上,即使我在我测试的类中添加了错误的更改,也没有失败的测试。
答案 0 :(得分:0)
在向后测试中,将此插件添加到pom.xml,maven将测试类打包在backward-tests-test.jar中
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.6</version>
<executions>
<execution>
<goals>
<goal>test-jar</goal>
</goals>
</execution>
</executions>
</plugin>
在运行测试中添加此依赖项
<dependency>
<groupId>groupId</groupId>
<artifactId>backward-tests</artifactId>
<version>1.x</version>
<type>test-jar</type>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>groupId</groupId>
<artifactId>pack1</artifactId>
</exclusion>
<exclusion>
<groupId>groupId</groupId>
<artifactId>pack2</artifactId>
</exclusion>
</exclusions>
</dependency>
答案 1 :(得分:0)
针对不同项目版本运行测试的另一种方法是使用git(或任何其他SCM)。
project-v1
并检查出来。project-v2
并检查出来。现在您可以对签出的版本(V1或V2)运行测试。另外,通过查看SCM的历史,您可以看到失败的代码的确切区别。