Maven -Dtest = * test,似乎没有运行所有测试

时间:2012-08-23 17:20:20

标签: java maven selenium continuous-integration maven-surefire-plugin

我有一个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

如果我能澄清任何问题或回答任何问题,请告诉我。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

我认为这是一个正则表达式:

mvn -Dtest=.*

适合我。