当我尝试运行测试时,我得到以下错误: 我在google上查了一下,在google上发现了一些东西,但这没什么用。
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
[...]
我的测试代码:
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());
}
}
Screenshot of the whole project
依赖关系i.stack.imgur。 com / OiQWU.png(不能发布2个以上的链接)
答案 0 :(得分:11)
我遇到了同样的问题。为了解决这个问题,我必须为我的项目打开模块设置,并手动添加IntelliJ安装lib目录中包含的jar依赖项junit-4.12.jar
和hamcrest-core-1.3.jar
。
答案 1 :(得分:3)
对于任何使用maven结尾的人来说,有几件事需要检查:
junit
添加为pom.xml中的依赖项?Add as Maven Project
或Maven->Reimport
<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>
答案 2 :(得分:1)
解决方案是将junit库添加为项目的依赖项。这可以通过将junit添加到全局库中,然后将鼠标悬停在错误(junit word)上,然后右键单击以将junit添加到类路径中来完成。 alt + shift + ctrl + s可以在同一项目中获得项目设置,既可以将junit添加到全局库中,也可以将项目添加到rob中在rob中提到的项目部分中。
答案 3 :(得分:1)
答案 4 :(得分:0)
我有同样的问题。添加JAR没什么区别。我通过为Junit 5.3添加库(而非JAR)依赖项解决了该问题
答案 5 :(得分:0)
这对我有用:
答案 6 :(得分:0)
答案 7 :(得分:0)
将 JUnit 依赖添加到 build.gradle 解决了问题
dependencies {
testCompile 'junit:junit:4.12'
compile 'junit:junit:4.12'
}
答案 8 :(得分:0)
如果您使用 Jupiter 进行 Junit5 测试, 那么你需要两件事: -> Jupiter-junit-api -> 木星引擎
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.7.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.7.1</version>
<scope>test</scope>
</dependency>
答案 9 :(得分:0)
您正在尝试运行您的测试,因此您需要将 JUnit 的范围设置为与图片中相同的“编译”:
答案 10 :(得分:0)
我认为这是 intellij 的一个错误,因为他们有时无法在构建操作期间加载具有测试范围的依赖项。 你可以看到这个错误只会出现在测试范围内的依赖项上。