我有一个Jenkins CI服务器,它设置了一个运行maven-surefire的Selenium测试项目。我需要将项目作为参数化构建,以便我可以通过URL以Dtest作为参数触发构建(并且仅运行我在url中指定的测试)。这很有效。
不幸的是,在这个参数化配置中,我一直无法弄清楚如何运行所有测试。由于它处于参数化构建模式,因此我必须始终指定-Dtest参数。
基于Surefire documentation,似乎我应该能够对测试名称进行通配符,并且所有内容都将运行:
-Dtest=* or -Dtest=Test*
运行这些参数的奇怪结果是来自所有6
测试的打印语句(我创建的)(表示它们都已启动):
"Test <test_name> started, click here to see the SauceLabs video"
然后标准测试结果(如下)仅用于4/6测试
Running <test_class_path>
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.048 sec
随后是摘要:
Tests run: 4, Failures: 0, Errors: 0, Skipped: 0
如果重要的是,测试是使用surefire并行运行,另一个奇怪的事情是,在打印出单个测试结果时,在第4个之后,第5个结果开始打印,但从未显示结果,并且最后包括1美元:
Running <test_class_path>$1
如果我能澄清任何问题或回答任何问题,请告诉我。
提前感谢您的帮助!
答案 0 :(得分:2)
我认为这是一个正则表达式:
mvn -Dtest=.*
适合我。