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

时间:2021-03-02 17:21:38

标签: maven testing intellij-idea junit annotations

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

我无法让 JUnit 处理示例项目以及我自己的项目。每当我将 JUnit 添加到我的类路径(使用 Maven)时,它都会导入所有必需的库。在那之后,除了@Test 注释之外,实际上一切正常。我可以使用其他注释,如 org.junit.jupiter.api.Disabled (@Disabled) 或 org.junit.jupiter.api.ParameterizedTest (@ParameterizedTest) 但每当我尝试使用 org.junit.jupiter.api.Test ( @Test) 注释我收到“无法解析符号‘测试’”错误。

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

我正在使用以下版本:

  • IntelliJ:2020.3.2(终极版)[最新]
  • Java:1.8“1.8.0_144”
  • JUnit:5.7.1(但我也尝试使用许多其他版本 [从 4.0 到 5.8],但没有成功。)
  • 操作系统:Windows 10 Home 64 位

我已经尝试使用 Maven 在 Eclipse 中设置 JUnit,它立即起作用,所以我不确定这是否与 IntelliJ 有特别关系。在这一点上,我开始想不通为什么除了 @Test 注释之外的所有内容都可以正常工作。我已经尝试了上述网站的大量建议,因此我真的希望我们能在这里解决这个问题。

我附加了发生此问题的其中一个类的屏幕截图。所有代码以及 pom.xml 文件 /etc 与 https://github.com/JetBrains/intellij-samples 中的相同。我没有在本地修改任何文件,只是在示例项目中尝试了“Maven > Reload Project”以及“File > Invalidate Caches / Restart”。如果您需要更多信息以查看此问题,请务必告诉我。

提前致谢。

最大

附件:

1 个答案:

答案 0 :(得分:1)

请查看在 IDE 未运行时删除 system directory 是否有帮助。看起来像文件系统缓存相关的问题。 Should be fixed 在 2021.1 版本中。

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

TEST

相关问题