JUnit - 除@Test 注释外,每个注释都有效

JUnit - Every annotation works except the @Test annotation

我从 GitHub 克隆了 JetBrains 用于演示目的的示例项目 (https://github.com/JetBrains/intellij-samples.git),因为我在使用 JUnit 时遇到问题,想看看在使用官方时这些问题是否仍然存在项目(以确保我没有搞砸什么)。不幸的是,这个问题仍然存在,经过数小时的 Google、Whosebug 或最后但并非最不重要的 JetBrains 支持委员会的研究,我无法解决这个问题。

我无法让 JUnit 与示例项目以及我自己的项目一起工作。每当我将 JUnit 添加到我的类路径(使用 Maven)时,它都会导入所有必需的库。在那之后,除了 @Test 注释之外,几乎所有的东西都工作得很好。我可以使用其他注释,如 org.junit.jupiter.api.Disabled (@Disabled) 或 org.junit.jupiter.api.ParameterizedTest (@ParameterizedTest),但每当我尝试使用 org.junit.jupiter.api.Test (@Test) 注释时,我都会收到“无法解析符号 'Test'" 错误。

当鼠标悬停在 @Test 注释上方时,它建议将 JUnit4 或 JUnit5 添加到类路径中。如果我 select 该选项我仍然会得到相同的错误,并且在之后将鼠标悬停在 @Test 注释上方时它仍然会提示同样的事情。我已经尝试执行“Maven > Reload Project”、“File > Invalidate Caches / Restart”,重新安装 IntelliJ Ultimate 并通过将 JUnit API 作为外部 Java 库添加到不使用 Maven 或 Gradle 的项目。我还确保我尝试在其中使用 @Test 注释的目录是“测试源文件夹”。然而,再一次,所有其他 JUnit 注释都工作得很好。只有 @Test 不工作并抛出“无法解析符号 'Test'”错误。

我正在使用以下版本:

我试过使用 Maven 设置 JUnit 和 Eclipse,它立即起作用,所以我不确定这是否与 IntelliJ 有特别的关系。在这一点上,我开始 运行 不知道为什么除了 @Test 注释之外的所有东西都工作得很好。我已经从上述网站尝试了很多建议,因此我真的希望我们能在这里解决这个问题。

我附上了发生此问题的 类 之一的屏幕截图。所有代码以及 pom.xml 文件/等都与 https://github.com/JetBrains/intellij-samples 中的相同。我没有在本地修改任何文件,只在示例项目中尝试了“Maven > 重新加载项目”以及“文件 > 使缓存无效/重新启动”。如果您需要任何进一步的信息来查看此问题,请务必告诉我。

提前致谢。

最大

附件:

请查看是否在 2021.1 版本中删除 system directory helps while the IDE is not running. It looks like file system cache related issue. Should be fixed

在 2020.3.2 中使用干净的系统目录无法重现该问题: