POM.xml 中多个依赖项目的 Junit 测试用例
Posted
技术标签:
【中文标题】POM.xml 中多个依赖项目的 Junit 测试用例【英文标题】:Junit test cases for multiple dependent project in POM.xml 【发布时间】:2014-01-17 17:13:14 【问题描述】:我有一个项目 Test-A,在这个项目中我有应用程序的 junit 测试类。 现在,我有另一个名为 Test-B 的项目,在这个项目中我有应用程序的 junit 测试类。
测试-B,我已经包含了项目-A,即修改了 POM.xml 并包含为:
POM.xml:
<dependency>
<groupId>com.abc.test-A</groupId>
<artifactId>TestA</artifactId>
<version>1.7</version>
<scope>test</scope>
</dependency>
问题: 当我为 Test-B 项目运行 mvn test 时,这也必须运行 Test-A junit 测试文件。我怎样才能运行这种测试?
我是junit 4.9版本。
【问题讨论】:
【参考方案1】:您必须使用Maven Source Plugin 来打包测试源。
这是一个构建插件在您安装或部署项目时打包测试源的示例:
<project>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>2.2.1</version>
<executions>
<execution>
<id>attach-sources</id>
<phase>verify</phase>
<goals>
<goal>test-jar-no-fork</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
您必须将测试的依赖项添加为 test-jar
类型:
<dependency>
<groupId>com.abc.test-A</groupId>
<artifactId>TestA</artifactId>
<version>1.7</version>
<type>test-jar</type>
<scope>test</scope>
</dependency>
现在您可以从可以直接运行的工件 TestA 访问测试。
【讨论】:
【参考方案2】:为您的项目 B 运行测试不会运行任何依赖项的测试。例如,您的项目也将依赖于 junit。您不希望这些测试能够运行。
【讨论】:
我的要求是运行一个,即从项目 B 运行项目 A 的 Junit 测试用例。以上是关于POM.xml 中多个依赖项目的 Junit 测试用例的主要内容,如果未能解决你的问题,请参考以下文章