Java 无法触发";迁移到JUnit 5“;IntelliJ 2017.3.3中的对话框

Java 无法触发";迁移到JUnit 5“;IntelliJ 2017.3.3中的对话框,java,maven,intellij-idea,junit5,Java,Maven,Intellij Idea,Junit5,这意味着一旦JUnit5位于类路径上,就可以将鼠标悬停在JUnit4测试名称上,并出现“迁移到JUnit5”的弹出窗口。我已经在pom中添加了junit jupiter api的依赖项(版本5.0.3),但是没有这样的选项可用 我缺少什么?我想现在默认情况下该功能已禁用。也许这是一个与切换相关的错误。但您可以手动启用此检查 尝试右键单击测试名称->分析|按名称运行检查->JUnit 4测试可以是JUnit 5检查 然后应用快速修复迁移到JUnit 5并按启用检查 这个迁移对我来说很有效 打开

这意味着一旦JUnit5位于类路径上,就可以将鼠标悬停在JUnit4测试名称上,并出现“迁移到JUnit5”的弹出窗口。我已经在pom中添加了junit jupiter api的依赖项(版本
5.0.3
),但是没有这样的选项可用


我缺少什么?

我想现在默认情况下该功能已禁用。也许这是一个与切换相关的错误。但您可以手动启用此检查

尝试右键单击测试名称->分析|按名称运行检查->JUnit 4测试可以是JUnit 5检查

然后应用快速修复迁移到JUnit 5并按启用检查

这个迁移对我来说很有效

打开后,您可以看到检查的工具提示:

对于此检查,您需要:

  • JDK8
  • 类路径中的“org.junit.jupiter.api.Assertions”类
您需要添加依赖项junit jupiter api:

<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter-api</artifactId>
    <version>${junit-jupiter-engine.version}</version>
    <scope>test</scope>
</dependency>

该博客声明“您需要在类路径上有JUnit5”,因此没有明确说明需要哪些依赖项,但是
api
模块本身可能不会勾选此框:“在类路径上有JUnit5”。也许您需要类路径上的
junit jupiter api
junit jupiter engine
?您给出的博客文章从来没有这样说过:
一旦junit 5在类路径上,您可以将鼠标悬停在junit 4测试名称上,就会出现一个“迁移到junit 5”的弹出窗口。这只是在评论中提到的。您是否只将dpenedency添加到pom中,或者您也更新了您的依赖项?@XtremeBaumer一位IntelliJ开发人员的评论中提到了这一点。希望这是一个值得信赖的来源。我添加了dep和更新的依赖项。还可以启用Java | JUnit问题| JUnit 4测试,可以在设置中检查JUnit 5。
@Override
  public boolean shouldInspect(PsiFile file) {
    if (!JavaVersionService.getInstance().isAtLeast(file, JavaSdkVersion.JDK_1_8)) return false;
    if (JavaPsiFacade.getInstance(file.getProject()).findClass(JUnitCommonClassNames.ORG_JUNIT_JUPITER_API_ASSERTIONS, file.getResolveScope()) == null) {
      return false;
    }
    return super.shouldInspect(file);
  }