升级到Gradle 5.1.1后,未找到给定包含的测试

升级到Gradle 5.1.1后,未找到给定包含的测试,gradle,testng,Gradle,Testng,我们以前有几个命令,如下所示: gradlew test --tests *MyTest 例如,类MyTest在包com.test.MyTest中。 当使用Gradle版本设置(Ctrl+Alt+S) 构建、执行、部署>构建工具>渐变 使用:Intellij IDEA运行测试 非常感谢。尝试了所有其他的答案,最后你来营救

我们以前有几个命令,如下所示:

gradlew test --tests *MyTest
例如,类MyTest在包
com.test.MyTest
中。 当使用Gradle版本<5.0时,效果很好,但升级到5.1.1后,我出现以下错误:

未找到给定包含的测试:[*MyTest](-tests筛选器)

我们已经替换了所有此类事件,因为我认为使用类的完整路径要好得多。但我想知道为什么这已经不起作用了


顺便说一句:我正在使用TestNG,并且提到的类至少有一个公共方法被注释为
@Test

发现了问题。它与gradle升级或TestNG无关

基本上,有人在其他类中初始化了一个全局变量,并在其中使用了一个固定的索引,即

public class myClass extends Something{
    private final String name = names.getNames(0);
    ...
当我们用*调用gradle任务时,它执行了那段代码,在这种情况下,它会导致一个IndexOutOfBoundsException,因为此时列表是空的

执行以下命令帮助我找到问题:

gradlew test --tests *MyTest --debug

我花了很多时间才找到解决方案,所以在这里分享。通过根据更改Intellij设置,我解决了给定includes:[*MyTest](-tests filter)未找到测试的
错误

步骤:

  • 文件>设置(Ctrl+Alt+S)
  • 构建、执行、部署>构建工具>渐变
  • 使用:Intellij IDEA运行测试

  • 非常感谢。尝试了所有其他的答案,最后你来营救