【问题标题】:Intellij cannot resolve Junit in test dir [duplicate]Intellij 无法解析测试目录中的 Junit [重复]
【发布时间】:2018-07-15 14:15:17
【问题描述】:

我已经建立了一个新项目。该项目遵循Maven的默认项目配置和命名,即我有src->main->javasrc->test->java。 pom.xml 没有指定<sourceDirectory><testDirectory>,因为我设置了Maven 的默认位置。 pom.xml 包含 junit 依赖项为

<dependency>
    <groupId>junit</groupId>
    <artifactId>junit</artifactId>
    <version>4.12</version>
    <scope>test</scope>
</dependency>

项目结构:

我已经多次清理和构建我的项目。但是我无法在位于src/test/java/com/.../service/ServiceClassTest.java 的测试类中导入org.junit.Test

我的机器上也有 Eclipse,我能够在不更改任何配置的情况下导入 Junit 的测试类。为什么 Intellij 无法导入 Junit 类?

编辑:就此而言,我也无法在测试类中看到 Mockito 类,尽管 jar 已下载。我可以在外部库视图中看到它。

【问题讨论】:

  • 这应该可以。我的猜测是,您要么没有要求 IntelliJ 导入所有依赖项,要么没有指向其中包含 JUnit JAR 的存储库,或者它没有出现在项目视图的外部库下。这不是 IntelliJ;是你。
  • 它出现在外部库中。刚刚检查过。
  • 我有一个完全以这种方式设置的项目。我在我的 JUnit 测试类中看到了这一点: import org.junit.Test;有用。我正在使用 IntelliJ 2017.2.5。添加注释,看看 IntelliJ 会问你什么。如果 JAR 在 CLASSPATH 中,它应该要求为您添加导入。我同时使用 JUnit 和 Mockito。如果操作正确,它会起作用。
  • 它要求我将其添加到 CLASSPATH。我想知道为什么 ?我的意思是我在这里错过了什么。

标签: java maven intellij-idea


【解决方案1】:

转到您的父级pom.xml,然后重新导入它。确保 IntelliJ 了解您正在使用 Maven 构建管理器。

通过要求将其添加到类路径中,它只会将库添加到您的pom.xml

还有一个问题 - 你的项目结构还好吗?如果你点击 Build > Build Project 会发生什么?

【讨论】:

  • 嗨,Simon,正如我在之前的 cmets 中提到的,导入引发了错误。 ALT + Enter 错误要求我将其添加到类路径中。这样导入问题就解决了。但是现在,当我编写测试用例时,我发现它无法从 src/main/java 导入类。按照 Intellij 的建议,我不得不再次将“main”添加到类路径中。我现在怀疑我的本地 Intellij 上是否缺少某些设置。因为我团队中的其他人能够毫无问题地处理测试用例。
  • 为了避免乱七八糟,在Pom中设置好依赖后,删除.idea/和.iml,重新打开项目。这将从 Maven 重新导入所有设置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多