码迷,mamicode.com
首页 > 其他好文 > 详细

Maven使用failsafe实现集成测试

时间:2015-05-16 16:36:59      阅读:263      评论:0      收藏:0      [点我收藏+]

标签: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   

原文地址:http://blog.csdn.net/cloud_ll/article/details/45290169

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!