1

我有一个 Jenkins CI 服务器,它设置了一个使用 maven-surefire 运行的 Selenium 测试项目。我需要将项目作为参数化构建,以便我可以通过带有 Dtest 作为参数的 URL 触发构建(并且只运行我在 url 中指定的测试)。这很好用。

不幸的是,在这个参数化配置中,我一直无法弄清楚如何运行所有测试。由于它处于参数化构建模式,我必须始终指定 -Dtest 参数。

根据Surefire 文档,似乎我应该能够对测试名称进行通配符,并且一切都会运行:

-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

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

提前感谢您的帮助!

4

1 回答 1

2

我认为这是一个常规的表达:

mvn -Dtest=.*

为我工作。

于 2012-08-27T19:54:07.727 回答