我已经阅读了here关于使用Surefire插件进行单元测试和使用Failsafe插件进行集成测试的内容,但是我仍然不清楚POM在Maven项目中应该是什么样子,该项目由一个父模块和多个子模块组成,每个子模块都有自己的POM文件。
问题:
ttp71kqs1#
请参阅我对问题的回答:如何在Maven 2中的两个测试套件之间切换?我更喜欢Maven模块-非常容易实现,并且不需要了解其他插件。如果您使用testng,您可以只在您的父pom中定义(仅一个位置):
<profile> <id>normal</id> <activation> <activeByDefault>true</activeByDefault> </activation> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <excludedGroups>integration</excludedGroups> </configuration> </plugin> </plugins> </build> </profile> <profile> <id>integration</id> <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <configuration> <includedGroups>integration</includedGroups> </configuration> </plugin> </plugins> </build> </profile>
通过以下方式注解所有集成测试:
@Test(groups="integration")
如果使用junit,请参见Category您通过以下方式运行正常测试:mvn -Pintegration clean install执行的mvn clean install集成测试
mvn -Pintegration clean install
mvn clean install
yyhrrdl82#
Apache Stanbol项目使用surefire插件进行单元测试和集成测试,它可以成为一个很好的例子给你。以下是相关链接:parent module、integration-tests和具有自己的单元测试的Stanbol组件之一factstore。
2条答案
按热度按时间ttp71kqs1#
请参阅我对问题的回答:如何在Maven 2中的两个测试套件之间切换?我更喜欢Maven模块-非常容易实现,并且不需要了解其他插件。
如果您使用testng,您可以只在您的父pom中定义(仅一个位置):
通过以下方式注解所有集成测试:
如果使用junit,请参见Category
您通过以下方式运行正常测试:
mvn -Pintegration clean install
执行的mvn clean install
集成测试yyhrrdl82#
Apache Stanbol项目使用surefire插件进行单元测试和集成测试,它可以成为一个很好的例子给你。
以下是相关链接:parent module、integration-tests和具有自己的单元测试的Stanbol组件之一factstore。