繁体   English   中英

Gradle + TestNG仅将某些测试作为单个测试运行

[英]Gradle + TestNG only runs certain tests as single tests

我已经将Gradle + TestNG + Java + Selenium用于我的Web UI测试已经有一段时间了,而我直到最近才遇到这个问题。 由于某些原因,当我尝试使用-DtaskName.single=ExampleTestClass运行单个测试类时,其中ExampleTestClass将为ExampleTestClass.java它仅适用于某些测试类。

我收到错误消息: Could not find a matching test for pattern: ExampleTestClass

过去由于错别字或缺少@Test注释等原因,我已经看到此错误,所以我对“正常”原因很熟悉,但这是很奇怪的,因为它似乎适用于某些测试类,而不适用于其他测试类。 我已经检查了代码,并为测试方法准备了所有注释和组,它们在我的IDE(IntelliJ)中运行良好,并且都位于同一目录/包路径中。 我在这里想念什么吗? 我不知道自己是否在看东西,但我确实注意到它不适用于没有将Test作为Java类名的后四个字符的测试类,但是重命名后仍然没有骰子。 我已经阅读了文档,找不到任何错误。 还有其他可能导致此失败的情况吗? 这很奇怪,因为这些测试在各个方面都如此相似。 我什至检查了字符编码等-它们之间没有任何差异。

任何关于下一步寻找的建议或想法都很好。

干杯,达尔文

我遇到了Gradle 1.6(还没来得及升级)和TestNG完全一样的事情。 项目中包含多个测试的单个测试被跳过,并且gradle抱怨如果尝试单独运行单个测试,则找不到该测试。 调试运行显示了gradle找到的缺少的测试.class文件。

我通过在测试方法之外向测试添加@Test批注来解决此问题。 那似乎让gradle找到了。

我最近遇到了类似的问题。 我尝试使用-DTest.single--tests运行测试, -DTest.single找到。 经过一番挫折后,我意识到该测试属于测试组中的测试组。 我错误地认为使用-Dtest.single会否决排除项,包括该测试的组允许其作为单个测试运行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM