测试多模块Maven项目POM中的内容

dm7nw8vv  于 2022-12-17  发布在  Maven
关注(0)|答案(2)|浏览(171)

我已经阅读了here关于使用Surefire插件进行单元测试和使用Failsafe插件进行集成测试的内容,但是我仍然不清楚POM在Maven项目中应该是什么样子,该项目由一个父模块和多个子模块组成,每个子模块都有自己的POM文件。

问题

  • 是否有人在他们的每个模块中实现了集成测试和单元测试?
  • 如果是这样,您是否愿意展示您的POM,以便我有一个良好的工作配置示例?
ttp71kqs

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集成测试

yyhrrdl8

yyhrrdl82#

Apache Stanbol项目使用surefire插件进行单元测试和集成测试,它可以成为一个很好的例子给你。
以下是相关链接:parent moduleintegration-tests和具有自己的单元测试的Stanbol组件之一factstore

相关问题