我是靠谱客的博主 刻苦铃铛,最近开发中收集的这篇文章主要介绍Maven使用failsafe实现集成测试,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

使用mock之后单元测试可以完全不依赖外界环境,比如database(一般使用hsqldb in memory db来实现database测试,mock db太麻烦了),ftp server,web service或者其他的功能模块。Mock测试带来的问题就是各个类,模块之间的集成测试完全没有做,这个时候就需要集成测试。单元测试maven有surefire插件实现自动化,集成测试则有failsafe plugin。

Failsafe和maven结合,将整个集成测试分为4个阶段:
1. pre-integration-test 启动测试环境,比如通过容器插件cargo启动容器,加载应用
2. integration-test 执行集成测试用例,
3. post-integration-test 清理测试环境
4. verify 检测测试结果
其中pre/post integration test主要是负责启动应用和测试后停止应用,一般通过容器插件,jetty plugin, tomcat plugin 或者高级点的cargo plugin来实现。2和4歩则是由failsafe来实现。
1,3歩的实现可以参考我之前的bloghttp://blog.csdn.net/cloud_ll/article/details/39831323
之所以选择cargo是它可以加载命令行参数,这样就可以通过jacoco来统计测试覆盖率,tomcat plugin就无法做到这一点。
2,4歩failsafe配置如下,主要是找到test文件夹下所有 “/ITCase.java”,”/IT.java” 和”**/*IT.java” 测试用例。如果测试用例有其他的特征,可以通过在configuration节点Include/exclude来实现。具体可以参考failsafe的官方文档:https://maven.apache.org/surefire/maven-failsafe-plugin/

    <pluginManagement>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-failsafe-plugin</artifactId>
          <version>2.18.1</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>
      </plugins>
    </pluginManagement>

Note: 集成用例如果和单元测试用例放在同一个项目里,必须在在单元测试的surefire中exclude所有的集成测试用例。

最后

以上就是刻苦铃铛为你收集整理的Maven使用failsafe实现集成测试的全部内容,希望文章能够帮你解决Maven使用failsafe实现集成测试所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(88)

评论列表共有 0 条评论

立即
投稿
返回
顶部