您现在的位置:首页 >流氓高手 >正文

七、使用maven进行测试

时间2019-01-14 来源:末日进化网

  核心提示:阳春三月,夭夭碧枝,皎皎风荷,暖风熏醉,染了春扉。安静的午后,静静的梳理着自己的思绪,轻轻的敲打着心语,不想惊扰沉睡的记忆,不想扯住渐行渐远的思绪。初春的日头,终究是有了暖意的了,鹅黄的嫩绿轻轻浅浅的...
 

非常感谢大家的支持和鼓励,我会一如既往的坚持下去,为了我自己,更为我爱的人向前冲刺^_^

从上面可以看出测试插件绑定的是default生命周期的test阶段
当然可以自定义具体的测试类(可以通过命令行方式和配置文件方式来指定具体要执行的测试)

命令行方式
需要注意的是命令行方式可以灵活指定需要运行的测试类,但是没有提供跳过指定测试类的方式,要实现跳过指定测试类这个功能,需要在配置文件中进行配置
指定具体类名
例如:mvn test -Dtest=RandomGenerateTest
这里是运行指定的测试类RandomGenerateTest
正则表达式
mvn test -Dtest=Random*Test
运行所有以Random开头,Test结尾的测试类
同时指定多个测试类
通过逗号","进行分隔
mvn test -Dtest=RandomGenerateTest,AccountCopyServiceTest
同时使用正则与多个测试类
mvn test -Dtest=Random*西宁哪里有癫痫医院Test,AccountCaptuchaServiceTest
当使用命令mvn test -Dtest时如果没有指定测试类,则会报错,测试匹配模式是必填的

配置文件方式
maven提倡约定优于配置,所以用户应该尽量遵循测试类的命名,不要随意改变其结构

上面通过includes包含Tests.java结尾的测试类

上面通过excludes排除以Tests.javaTestCase.java结尾的测试类

maven-surefire-plugin插件提供了两种逃过测试的方式

上面的方式是命令行方式,下面给出在pom中的具体配置,但是这种方式是不推荐的,因为如果长时间让项目跳过测试,那还要测试代码做什么呢?

除了命令行输出,maven用户还可以以文件的方式生成更丰富的测试报告
默认情况下,maven-surefire-plugin会在target/surefire-reports目录下生成两种格式的错误报告:

要得到测试覆盖率,需要额外的插件(cobertura-maven-plugin)支持
具体需要引江苏看癫痫病的专科入下面插件依赖:

当然可以通过maven-help-plugin插件查看cobertura插件有哪些目标
通过运行mvn cobertura:cobertura将会在target/site/cobertura目录下生成index.html

testng 是又一款流行的java测试框架,意为test next generation
使用testng需要去掉junit依赖,并添加testng依赖

相比于junit,它的注解也是很好理解的
org.junit.Test org.testng.annotations.Test测试标记
org.junit.Assert org.testng.Assert 断言
org.junit.Before org.testng.annotations.BeforeMethod 测试方法之前
org.junit.After org.testng.annotations.AfterMethod 测试方法之后
org.junit.BeforeClass org.testng.annot头痛性羊羔疯ations.BeforeClass所有测试之前
org.junit.AfterClass org.testng.annotations.AfterClass 所有测试之后

testng允许用户通过配置文件的方式来制定测试计划
需要在项目根目录下建立一个testng.xml

修改测试代码注释

还需要借助maven-surefire-plugin来进行打包测试

上面的代码通过@Test,groups指定当前测试方法属于test1,test2分组的,然后通过maven-surefire-plugin指定执行的测试分组test1,test2,于是测试代码就神奇的运行起来了

通常情况下,我们通过maven打包项目代码是不会将测试代码一起打包出来的,为了做到这一点,需要使用maven-jar-plugin插件的test-jar打包目标

maven-jar-plugin插件中提供了两个目标: jartest-jar,前者默认绑定在package阶段上,而后者虽然默认也是在package阶段执行,但是并没小儿癫痫症主要原因有绑定,我们通过上面的配置显示的绑定了test-jar任务,于是当运行mvn test package的时候就会打包测试代码
通过运行mvn clean package命令就得到在target/生成的两个jar
mvn-study-1.0-SNAPSHOT.jar
mvn-study-1.0-SNAPSHOT-tests.jar

如何使用测试jar包
通过上面的方式已经将测试代码打包成一个jar,那么我们要如何在其他项目模块中引用这个打包好的测试jar包呢?
不要惊慌,下面就给出答案
我们通过下面配置方式来引用被打包的测试代码:

需要注意上面引入的测试jar包依赖跟普通的依赖有点区别的地方在于scopetest域,表示在测试时使用,而typetest-jar

以上主要讲了maven插件maven-surefire-plugin结合junittestng运行项目测试的知识,这一章的知识就到此完哒,在接下来我们将学习如何使用已经成熟的scm工具软件自动构建与部署我们自己的项目

作者:不详 来源:网络
  • 爱美文网(www.aimeiwenw.com) © 2016 版权所有 All Rights Reserved.
  • 豫ICP备15019302号
  • Powered by laoy ! V4.0.6