Intellij"java:package org.junit不存在"

use*_*298 8 intellij-idea

当我尝试运行我的测试时,我得到以下错误:我在谷歌上查找并在谷歌上找到了一些东西,但这没有帮助.

Error:(3, 24) java: package org.junit does not exist
Error:(3, 1) java: static import only from classes and interfaces
Error:(5, 17) java: package org.junit does not exist
Error:(6, 17) java: package org.junit does not exist
Error:(12, 10) java: cannot find symbol
    symbol:   class Before
    location: class edu.kit.ipd.swt1.SimpleEditMeTest
Error:(17, 10) java: cannot find symbol
    symbol:   class Test
    location: class edu.kit.ipd.swt1.SimpleEditMeTest
[...]
Run Code Online (Sandbox Code Playgroud)

我的测试代码:

package edu.kit.ipd.swt1;
import static org.junit.Assert.assertNotNull;
import org.junit.Before;
import org.junit.Test;

public class SimpleEditMeTest {
private EditMe editMe;
@Before
public void setUp() throws Exception {
    editMe = new EditMe();
}
@Test
public void test() {
    assertNotNull(editMe.getFoo());
}
}
Run Code Online (Sandbox Code Playgroud)

整个项目的屏幕截图

运行配置

依赖关系i.stack.imgur.com/OiQWU.png(不能发布2个以上的链接)

小智 19

您正在尝试运行测试,因此需要将 JUnit 的范围设置为“编译”,如图所示:

1

  • 如果有必要的话,“测试”范围有什么意义? (4认同)

wor*_*shi 14

对于最终使用 Maven 的任何人,需要检查几件事:

  • (健全性检查)您是否junit在 pom.xml 中添加了依赖项?
  • Intellij 是否接受您的模块作为 Maven 模块?尝试右键单击模块/项目并选择Add as Maven ProjectMaven->Reimport
  • 您是否在 pom 文件的依赖项声明中使用了显式版本?喜欢<version>4.12</version>。试试那个。(您可能不想这样做,因为您希望版本由父模块决定。请继续阅读。)
  • 你记得加一个dependencyManagement吗?如果您不想在当前项目中明确使用它,Maven 需要它来解析正确的版本号。对我来说,它指的是父项目。像这样:
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.myorg</groupId>
            <artifactId>myproject-parent</artifactId>
            <version>${myproject.version}</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
    </dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)

  • `Maven-&gt;Reimport` 然后`Build-&gt;Rebuild` 为我修复了它。 (7认同)

Cha*_*lie 13

这对我有用:

  1. 右键单击 pom.xml
  2. 选择 Maven
  3. 重新加载项目


myb*_*ess 12

我有同样的问题.为了解决这个问题,我必须为我的项目打开模块设置并手动添加jar依赖项junit-4.12.jar,hamcrest-core-1.3.jar它们包含在IntelliJ安装lib目录中.


Rah*_*hul 6

解决方案是将 junit 库添加为项目的依赖项。这可以通过将 junit 添加到全局库,然后将鼠标悬停在错误(junit 单词)上并右键单击将 junit 添加到类路径来完成。alt+shift+ctrl+s 来获取相同的项目设置,或者将 junit 添加到全局库或项目部分,如 rob 在他的答案中提到的。一旦您将其添加到此处,红色灯泡图标将为您提供通过将其添加到类路径来解决错误的选项。