【问题标题】:Intelij 2019.1 update breaks JUnit testsIntellij 2019.1 更新打破了 JUnit 测试
【发布时间】:2019-03-28 19:24:35
【问题描述】:

2019.1 更新后,所有测试都因错误而中断:

没有找到给定包括 xxxx.someThingTest 的测试

【问题讨论】:

  • 您是否将 Java 编译器更改为与以前版本不同的东西?可以贴一下测试代码吗?
  • 测试本身没有问题......更新前工作。 JUnit 测试测试 spring 应用程序类方法,仅此而已。这是纯粹的设置问题。

标签: intellij-idea


【解决方案1】:

Intelij 以某种方式通过更新更改了设置。

Settings > Build,Execution,Deployment > Build Tools > Gradle > Runner > "Run tests using:"

从“Gradle Test runner”更改为“Platform Test runner”并且它有效。 我希望这对某些事情有用。

【讨论】:

  • 在没有任何注释的情况下更改默认测试运行器非常愚蠢。浪费了半个小时才找到这个解决方案。应标记为答案。
  • 在 IDEA 2019.2.3 中称为“Gradle(默认)”和“IntelliJ IDEA”。选择第二个,它将起作用。
  • @Mike 实际上你应该标记你自己的答案。它将帮助其他人更快地找到他们需要的东西。感谢分享这个。 IDEA 在很多事情上都很棒,但它们确实让其他事情变得更加困难。
  • 我在 2019.2.4 中看不到这个选项
  • 谢谢。它对我有用:使用 --> IntelliJ Idea 运行测试
【解决方案2】:

如果您将 JUnit5 与 Gradle 一起使用,请将以下代码添加到 build.gradle 文件中。

test {
    useJUnitPlatform()
}

我收到了来自https://www.baeldung.com/junit-5-gradle的提示

【讨论】:

    【解决方案3】:

    【讨论】:

    • 如果按照上面的解决方法后还是出现同样的错误,应该是方法的Access修饰符所致。确保您的测试方法没有 private 修饰符。
    【解决方案4】:

    我在 2019.2 中遇到了同样的问题,因为一个新开发的类没有被检测到。我通过手动运行“Build->Rebuild Project”奇怪地解决了它

    Mike 的解决方法 with Runner 对我不起作用。

    【讨论】:

      【解决方案5】:

      切换到 JDK 11.0.2 为我解决了这个问题。 不过,不确定这是否是真正的原因。

      【讨论】:

        【解决方案6】:

        在使用 JUnit 5 时,请确保使用org.junit.jupiter 提供的接口

        因此,例如,您应该使用 org.junit.jupiter.api.Test 而不是 org.junit.Test 来注释您的测试

        对于 JUnit 4 及之前的版本,请使用 org.junit 提供的接口

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2016-02-21
          • 1970-01-01
          • 1970-01-01
          • 2014-03-25
          • 2012-06-10
          • 1970-01-01
          • 2021-05-08
          • 1970-01-01
          相关资源
          最近更新 更多