用maven进行测试
maven的重要职责之一就是自动运行单元测试,它通过maven-surefire-plugin与主流的单元测试框架junit和testng集成,并且能够自动生成丰富的结果报表。
maven并不是一个单元测试框架,他只是在构建执行打特定的生命周期阶段的时候,通过插件来执行JUnit或testNG的测试用例,这个插件就是maven-surefire-plugin,也叫做测试运行器。maven-surefire-plugin会自动执行测试源码路劲下(src/test/java)的所有符合以下命名模式的测试用例
**/Test*.java:任何子目录下的所有命名以Test开头的java类
**/**Test.java:任何子目录下的所有命名以Test结尾的java类
**/**TestCase.java:任何子目录下的所有命名以TestCase结尾的java类
只要将测试类按上述模式命名,maven就能自动运行它们,用户也就不再需要定义测试集合(testsuite)来聚合测试用例了。
当然也可以自定义来包含一些不符合上述命名规则的测试类,以下定义以Tests结尾的用例:
|
1
2
3
4
5
6
7
8
9
10
|
<plugin> <groupId>org.apache.maven.plugin</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.5<version> <configuration> <includes> <include>**/*Tests.java</include> </includes> </configuration></plugin> |
日常工作中,软件开发人员总有很多理由来跳过单元测试,“我敢保证这次改动不会导致任何测试失败,测试运行太耗时了,暂时跳过一,有持续集成服务跑所有测试呢,我本地就不执行啦。在大部分情况下,这想法都是不对的。任何改动都要交给测试去验证,测试运行耗时过长应该考虑优化测试,更不要完全依赖持续集成服务来报告错误,测试错误应该尽早在尽小范围内发现,并及时修复。
maven同时也可以通过设置skipTest来跳过测试。
测试报告:
surefire会在target-report下生成两种格式的错误与报告,简单文本格式和支持JUnit的XML格式。
测试覆盖率报告:
cobertura是一个开源的测试覆盖率统计工具,使用时添加插件cobertura-maven-plugin
testng:
可以使用testing.xml的文件,来配置想要运行的测试集合。然后再pom文件里在配置使用该文件。
用maven进行测试的更多相关文章
- 通过Maven配置测试环境和开发环境连接不同的数据库
通过Maven配置测试环境和开发环境连接不同的数据库 作者及来源: 通灵宝玉 - 博客园 收藏到→_→: 此文来自: 马开东博客 网址:http://www.makaidong.com ...
- Maven聚合、Maven仓库jar包以及Spring+MyBatis+JUnit+Maven整合测试的搭建过程
一.Maven将父项目创建到父项目的内部 在父项目的pom.xml上 点右键,选择maven-->new-->maven module project 二.Maven聚合 在某个项目的p ...
- TestNG+Jenkins+Maven参数化测试dubbo接口
1.TestNG参数化测试用例: package com.tree.autotest.testcase.IUserBankSummaryService; import com.datatrees.fi ...
- spring ----> aop测试需要的Maven依赖/测试时发生的一个exception
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> &l ...
- 02.基于IDEA+Spring+Maven搭建测试项目--详细过程
一.背景介绍 1.1公司相关技术 Git:是一款免费的开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目,方便多人集成开发 Maven:是基于项目对象模型(POM),可以通过一小段描述信息 ...
- 01.基于IDEA+Spring+Maven搭建测试项目--综述
目前公司的测试工作中常见两种接口:HTTP和Dubbo,这两种接口类型均可以使用相关测试工具进行测试,但都会有一定的局限性和不便之处,具体如下: 1.HTTP接口,当需要对于参数进行加密解密时,就得对 ...
- 《Maven实战》第10章 使用Maven进行测试
10.2maven-surefire-plugin插件 [生命周期]的[阶段]与[插件]的[目标]绑定 default生命周期的test阶段:使用单元测试框架运行测试 Maven内置绑定:defaul ...
- 使用maven进行测试设置断点调试的方法
在Maven中配置测试插件surefire来进行单元测试,默认情况下,surefire会执行文件名以Test开头或结尾的测试用例,或者是以TestCase结尾的测试用例. ...
- 08.基于IDEA+Spring+Maven搭建测试项目--Maven的配置文件settings.xml
<?xml version="1.0" encoding="UTF-8"?> <settings xmlns="http://mav ...
随机推荐
- java排序集锦
java实现排序的一些方法,来自:http://www.javaeye.com/topic/548520 package sort; import java.util.Random; /** * 排序 ...
- JPA学习---第四节:JPA实例与JPA主键生成策略
1.编写实体类,代码如下: package learn.jpa.bean; import javax.persistence.Entity; import javax.persistence.Gene ...
- Qt Script
旧项目运行在Qt4.x上,要加上一个脚本逻辑,只能上Qt Script.(建议新项目使用QJSEngine) QT += script #include <QtScript> int cp ...
- 在myeclipse中使用Java语言进行spark Standalone模式应用程序开发
一.环境配置 Myeclipse中虽然已经集成了maven插件,但是由于这个插件版本较低,建立maven project会出现错误. 解决办法:自己到官网http://maven.apache.org ...
- java多线程状态转换
http://www.mamicode.com/info-detail-517008.html 相关资料链接 我觉得下面这张图总结的很好
- 【POJ】【1061】/【BZOJ】【1477】青蛙的约会
扩展欧几里德 根据题意列出不定方程: (x+m*T)-(y+n*T)=k*L; //T表示跳了T次,由于是环,可能追了多圈,所以结果应为k*L 化简得 T(m-n)-kL=y-x; 这就成了我们熟悉 ...
- 果盟广告SDK
// // GuomobWallView.h // GuoMobWallSample // // Created by keyrun on 14-1-21. // Copyright (c) 2014 ...
- tornado解析http body的过程分析
tornado解析http body的过程分析 在最近写的一个RESTful API Server过程中,发现tornaod对解析POST BODY的内容有限制. 而在以前用web.py则没有这个限制 ...
- Class
1. No const constructor Unlike other member functions, constructors may not be declared as const . W ...
- C#中 ? 和?? 的用法
C#中 ?? 和? 的意思 1.? 如果直接定义一个 值类型,给负值null:就会提示“无法将 Null转换成‘值类型(比如:int)’,因为他是一种不可为null的值 de类型” 例如 int in ...