我有一个 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 并行运行的,另一件奇怪的事情是,在打印各个测试结果时,在第四个测试结果之后,第五个结果开始打印,但从未显示结果,并且末尾包含 1 美元:
Running <test_class_path>$1
如果我可以澄清任何事情或回答任何问题,请告诉我。
预先感谢您的帮助!
最佳答案
我认为这是一个正则表达式:
mvn -Dtest=.*
对我有用。
关于java - Maven -Dtest=* test,似乎没有运行所有测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12096960/