在测试工作场景中,经常会遇到下面的问题:
- 1、执行自动化测试用例的时候,只想指定某个测试类,或者某个方法,又或者某一类用例等,怎么办?
- 2、想要和 Jenkins 一起进行持续集成,可是用例又不可能在 IDE 里面执行,怎么办?
这个时候就需要 Maven 登场了,利用 Maven 的Maven-Surefire-Plugin插件可以帮助我们完成上述的目标!它可以通过命令行的形式来管理我们要执行的用例。 - Maven 3.x +
- JDK 1.7 +
对于我们测试来说,常接触的几个用例管理框架都支持(这里指 Java 技术栈) - Using TestNG
- Using JUnit 5 Platform
- Using JUnit
常用到的 Junit5 相关依赖:
Maven-Surefire-Plugin:
指定编译 JDK 版本:
现有如下结构的测试类,在此基础上进行演示:
使用 mvn test 命令可以一次性执行所有的用例,执行完之后可以看到控制台中的结果:
执行完之后我们打开 target,所有 maven 执行完的结果都会在 target 目录下的 surefire-reports 下:
其中: - xml:可用于 Jenkins 解析,文件与测试类对应,里面的内容代表了测试用例的执行情况。
- txt:测试结果的命令行输出。
使用 mvn -Dtest=${TestClass} 命令可以指定运行测试类,例如
我这里要运行 MavenDemo1Test 下的用例,就可以使用 mvn -Dtes