Maven:动态指定要运行的测试用例。

 反复运行单个测试用例是日常开发中很常见的行为。例如,项目代码中有一个失败的测试用例,开发人员就会想要再次运行这个测试以获得详细的错误报告,在修复该测试的过程中,开发人员也会反复运行他,以确认修复代码是正确的。如果仅仅为了一个失败的测试用例而反复运行所有测试,未免太浪费时间了,当项目中测试的数目比较大的时候,这种浪费尤为明显。

maven-surefire-plugin提供了一个test参数让Maven用户能够在命令行指定要运行的测试用例。例如,如果只想运行RandomStringTest,就可以使用如下命令:

 $ mvn test -Dtest=RandomStringTest

 这里test参数的值是测试用例的类名,这行命令的效果就是只有RandomStringTest这一个测试类得到运行。
 maven-surefire-plugin的test参数还支持高级一些的赋值方式,能让用户更灵活的指定需要运行得测试用例。例如:

$ mvn test -Dtest=Random*Test

星号可以匹配零个或多个字符,上述命令会运行项目中所有类名以Random开头、Test结尾的测试类。
 除了星号匹配,还可以使用逗号指定多个测试用例:

$ mvn test -Dtest = RandomStringTest,HelloWorldTest

该命令的test参数值是两个测试类名,他们之间用逗号隔开,其效果就是告诉Maven只运行这两个测试类。
 当然,也可以结合使用星号和逗号。例如:

 $ mvn test -Dtest = Random*Test,HelloWorldTest

需要注意的是,上述几种命令从命令行动态指定测试类的方法都应该只是临时使用,如果长时间只运行项目的某几个测试,那么测试就会慢慢失去其本来的意义。

test参数的值必须匹配一个或者多个测试类,如果maven-surefire-plugin找不到任何匹配的测试类,就会报错并导致构建失败。

我们看到,使用test参数用户可以从命令行灵活的指定要运行的测试类。可惜的是,maven-surefire-plugin并没有提供任何参数支持用户从命令行跳过指定的测试类,好在用户可以通过在POM中配置maven-surefire-plugin排除特定的测试类。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值