Maven运行JUnit测试(http://www.360doc.com/content/13/0927/15/7304817_317455642.shtml)
Maven单元测试
分类: maven 2012-05-09 15:17 1986人阅读 评论(1) 收藏 举报
maven 测试 junit 单元测试 java random
目录(?)[-]
1.maven-surefire-plugin简介Maven本身并不是一个单元测试框架,它只是在构建执行到特定生命周期阶段的时候,通过插件来执行JUnit或者TestNG的测试用例。这个插件就是maven-surefire-plugin,也可以称为测试运行器(Test Runner),它能兼容JUnit 3、JUnit 4以及TestNG。 在默认情况下,maven-surefire-plugin的test目标会自动执行测试源码路径(默认为src/test/java/)下所有符合一组命名模式的测试类。这组模式为:
2.跳过测试
要想跳过测试,在命令行加入参数skipTests就可以了。如:
[plain] view plain copy print ?
也可以在pom配置中提供该属性。
[html] view plain copy print ?
有时候可能不仅仅需要跳过测试运行,还要跳过测试代码的编译:
[plain] view plain copy print ?
也可以在pom中配置maven.test.skip:
[html] view plain copy print ?
3.动态指定要运行的测试用例
maven-surefire-plugin提供了一个test参数让Maven用户能够在命令行指定要运行的测试用例。如:
[plain] view plain copy print ?
也可以使用通配符:
[plain] view plain copy print ?
或者也可以使用“,”号指定多个测试类:
[plain] view plain copy print ?
如果没有指定测试类,那么会报错并导致构建失败。
[plain] view plain copy print ?
这时候可以添加-DfailIfNoTests=false参数告诉maven-surefire-plugin即使没有任何测试也不要报错。
[plain] view plain copy print ?
由此可见,命令行参数-Dtest -DfailIfNoTests=false是另外一种路过测试的方法 4.包含与排除测试用例
如果由于历史原因,测试类不符合默认的三种命名模式,可以通过pom.xml设置maven-surefire-plugin插件添加命名模式或排除一些命名模式。
[html] view plain copy print ?
5.生成测试报告5.1基本测试报告
默认情况下,maven-surefire-plugin会在项目的target/surefire-reports目录下生成两种格式的错误报告。
5.2测试覆盖率报告
测试覆盖率是衡量项目代码质量的一个重要的参考指标。Cobertura是一个优秀的开源测试覆盖率统计工具(详见http://cobertura.sourceforge.net/),Maven通过cobertura-maven-plugin与之集成,用户可以使用简单的命令为Maven项目生成测试覆盖率报告。运行下面命令生成报告:
[plain] view plain copy print ?
6.运行TestNG测试
TestNG是Java社区中除了JUnit之外另一个流行的单元测试框架。TestNG在JUnit的基础上增加了很多特性,其站点是 http://testng.org/ .添加TestNG依赖:
[html] view plain copy print ?
下面是JUnit和TestNG的常用类库对应关系
TestNG允许用户使用一个名为testng.xml的文件来配置想要运行的测试集合。如在类路径上添加testng.xml文件,配置只运行RandomGeneratorTest
[html] view plain copy print ?
同时再配置maven-surefire-plugin使用该testng.xml,如:
[html] view plain copy print ?
TestNG较JUnit的一大优势在于它支持测试组的概念。如可以在方法级别声明测试组:
[java] view plain copy print ?
然后可以在pom中配置运行一个或多个测试组:
[html] view plain copy print ?
7.重用测试代码
当命令行运行mvn package的时候,Maven只会打包主代码及资源文件,并不会对测试代码打包。如果测试代码中有需要重用的代码,这时候就需要对测试代码打包了。
这时候需要配置maven-jar-plugin将测试类打包,如:
[html] view plain copy print ?
maven-jar-plugin有两个目标,分别为jar和test-jar。这两个目标都默认绑定到default生命周期的package阶段运行,只是test-jar并没有在超级POM中配置,因此需要我们另外在pom中配置。
现在如要引用test-jar生成的测试代码包,可以如下配置:
[html] view plain copy print ?
|
转载于:https://www.cnblogs.com/zhangchuan210/p/3445046.html
Maven运行JUnit测试(http://www.360doc.com/content/13/0927/15/7304817_317455642.shtml)相关推荐
- junit 循环测试_重复运行JUnit测试而没有循环
junit 循环测试 最近,我遇到了一个问题,我不得不编写一种方法的测试,该方法需要计算在一定可能性范围内的随机分布值1 . 更准确地说,如果您假设签名看起来像 interface RandomRan ...
- 重复运行JUnit测试而没有循环
最近,我遇到了一个问题,我不得不编写一种方法的测试,该方法需要计算在一定可能性范围内的随机分布值1 . 更准确地说,如果您假设签名看起来像 interface RandomRangeValueCalc ...
- http://www.360doc.com/content/18/0406/16/15102180_743316618.shtml
http://www.360doc.com/content/18/0406/16/15102180_743316618.shtml 转载于:https://www.cnblogs.com/xiongw ...
- http://www.360doc.com/content/07/0103/19/16773_317325.shtml
http://www.360doc.com/content/07/0103/19/16773_317325.shtml
- http://www.360doc.com/content/10/0307/00/45806_17835784.shtml
http://www.360doc.com/content/10/0307/00/45806_17835784.shtml
- http://www.360doc.com/content/14/1112/10/597197_424477810.shtml
http://www.360doc.com/content/14/1112/10/597197_424477810.shtml
- Android项目运行junit测试类时出现错误Internal Error (classFileParser.cpp:3494)的解决办法...
以前的项目运行好好的,升级了ADT后,进行junit测试时出现错误: # # A fatal error has been detected by the Java Runtime Environme ...
- ant接口自动化 junit_Jenkins + Ant自动运行Junit测试
自动化测试脚本需要频繁执行,也可能需要定时执行,执行的方法可能有很多种,下面我们来讲讲怎么使用Jenkins+Ant的方式来执行用例. 一.使用工具 Jenkins Ant Junit 二.Ant T ...
- maven进行junit测试时报错(二)
2019独角兽企业重金招聘Python工程师标准>>> 错误描述:[ERROR] Failed to execute goal org.apache.maven.plugins:ma ...
最新文章
- 这老哥把GPU当暖气用,省钱了!
- Twitter团队最新研究:快速高效的可扩展图神经网络SIGN
- Notification 浏览器右下角弹出提示消息
- vue截取一个字符串_vue如何截取字符串
- geometry-api-java 学习笔记(七)拓扑运算之cut
- vue加百度统计代码(亲测有效)
- JDBC8.0 URL配置
- webpack那些事儿
- Domain Socket本地进程间通信
- 链路层基本问题 : 封装成帧、差错检测、流量控制
- 最in的一期,来自大厂的邀请|C课有道
- 获取http地址如何从上面抓取图片_用 Python 自动抓取妹子图
- 理论基础 —— 二叉树 —— 树、森林、二叉树的转换
- 数据湖存储格式Hudi原理与实践
- 1万字说清楚Receiver Operating curve(ROC) 受试者操作特征曲线
- 电脑中了MEMZ病毒怎么办
- NLPIR/ICTCLAS中文分词系统 java相关api文档总结
- rog主板php,华硕主板有哪些系列 华硕主板各系列区别对比
- 计算机上自带的打字游戏,完美运行金山打字通2016(包括自带的小游戏)
- ckfinder的使用