之前分享过一篇关于maven-surefile-plugin插件的用法。主要介绍了加参数的方式来灵活的调用不同的xml包含的方法集合。回顾原文请点击链接查看:
maven-surefire-plugin插件,你真的会用吗?
有了这个用法我就可以很方便的在linux环境下运行我想运行的测试集合了,对于持续集成中自动运行不同的测试集合非常有用。于是我很happy的复制黏贴修改了n多个xml。例如这样:
src/test/resources/xml/all.xml src/test/resources/xml/envclear.xml src/test/resources/xml/GetTest.xml src/test/resources/xml/OnlinePutReadDelete.xml
src/test/resources/xml/DataRecoveryFun.xml src/test/resources/xml/FaultTest.xml src/test/resources/xml/manual.xml src/test/resources/xml/smoke.xml
src/test/resources/xml/DataRecoveryInter.xml src/test/resources/xml/GCGetFileCheck.xml src/test/resources/xml/MDSAdmin.xml src/test/resources/xml/Stress_PutBaseFile.xml
src/test/resources/xml/DataRecoveryonea.xml src/test/resources/xml/GCMultiPut.xml src/test/resources/xml/multidebug.xml src/test/resources/xml/Stress_PutReadDelMix.xml
src/test/resources/xml/debug.xml src/test/resources/xml/GCPutAndDel.xml src/test/resources/xml/multidiffmethoddebug.xml src/test/resources/xml/stress.xml
看到这么多各种命名的xml文件是不是很崩溃,其实梳理了一下除了四五个持续集成要常用的以外 其他很多都是临时为了跑一个回归集合或者调试部分用例创建的xml。时间久了有些xml可能都不一定能想起来对应的是那些用例集合,还需要打开查看xml内的属性。 这样维护成本很高。 所以思考了一下,为了节省xml的维护成本,对于需要调试单个method的尽量不采用mvn clean test -DsuiteXmlFile=src/test/resources/xml/a.xml的方式。 之前稍微瞄到过可以直接用参数来指定想运行的class类,例如这样:mvn clean test -Dtest=GetExsitFileTest test就是代表将GetExsitFileTest 这个class中的所有method都运行。 实验如下:
mvn clean test -Dtest=GetExsitFileTest test ....... Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
那么问题来了,这个集合中不是所有method我都想运行。我只想运行其中1个或者几个如何处理呢,前提是不想新建一个xml来维护这个临时的测试集合。 经过查找官网说明,找到这两句好用的指令: 运行class中的1个method:
mvn clean test -Dtest=GetExsitFileTest#GetExsitFileTest_Normal test
这句就是表示运行GetExsitFileTest 这个class中的GetExsitFileTest_Normal这个方法。 运行结果:
mvn clean test -Dtest=GetExsitFileTest#GetExsitFileTest_Normal test ....... Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
运行class中的2个method
mvn clean test -Dtest=GetExsitFileTest#GetExsitFileTest_Normal+DeleteTodayExsitFileTest test ....... Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
如上述所示,对于单个class中的几个method的集合就可以用这种方式去运行了。
本文来自网易实践者社区,经作者崔晓晴授权发布。