maven集成测试_与Maven的集成测试

maven集成测试

maven集成测试

用Maven实施单元测试是很普通的事情,我们大多数人都熟悉项目结构以及单元测试所在的位置。

但是,集成测试是一种不同的情况,大多数情况下它们具有完全不同的要求。 例如,可以让您的单元测试在内存数据库中的h2上运行,但是在集成测试和复杂查询方面,最好是针对实际的关系数据库(如生产中使用的关系数据库)执行它们。

考虑上面的示例,我们的集成测试可能具有不同的配置和依赖性。

因此,我们集成测试的目标是使它们与其他测试分开并分别执行。

关于源目录中的Maven结构,我们有主要的“文件夹”和测试“文件夹”。

以相同的方式,我们将添加一个名为“ it”的额外目录。 “ it”目录将包含一个用于Java源代码的Java目录和一个资源目录。 与测试目录的结构相同。

然后,我们应该指导maven构建代码并将其添加到测试源中。

<plugin>
                    <groupId>org.codehaus.mojo</groupId>
                    <artifactId>build-helper-maven-plugin</artifactId>
                    <version>1.5</version>
                    <executions>
                        <execution>
                            <id>add-test-source</id>
                            <phase>process-resources</phase>
                            <goals>
                                <goal>add-test-source</goal>
                            </goals>
                            <configuration>
                                <sources>
                                    <source>src/it/java</source>
                                </sources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>

通过使用构建助手maven插件,我们可以指示maven将额外的测试源目录添加到我们的构建中。

下一步是指示Maven运行我们的单元测试。 为此,我们将使用Maven故障安全插件

故障安全插件旨在运行集成测试,而Surefire插件旨在运行单元测试。 之所以选择名称(failsafe)是因为它是surefire的同义词,也因为它暗示了当它失败时,它是以安全的方式这样做的。

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-failsafe-plugin</artifactId>
                <version>2.15</version>
                <executions>
                    <execution>
                        <id>integration-test</id>
                        <goals>
                            <goal>integration-test</goal>
                        </goals>
                    </execution>
                    <execution>
                        <id>verify</id>
                        <goals>
                            <goal>verify</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

然后执行集成测试,我们应该发出。

mvn verify

正如预期的那样,我们的集成测试单独运行。

综上所述,我们希望将集成测试与单元测试分开。 我们也希望它们分开运行。 这可以通过使用Maven故障安全插件来实现。您可以在github上找到示例项目。

翻译自: https://www.javacodegeeks.com/2018/01/integration-tests-maven.html

maven集成测试

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值