我试图使用JUnit5来创建一些基本的单元测试。我转到我的Analyzer.java
课程并获得用于创建测试的弹出窗口。我点击Create New Test
,将测试库设置为JUnit5。我检查了一堆方法来生成测试方法并点击OK。
所以现在我有一个AnalyzerTest.java
文件,顶部有:
import static org.junit.jupiter.api.Assertions.*;
不幸的是,Assertions
是红色的(这是在IntelliJ IDEA中)。当我盘旋时,它说"找不到符号断言"。同样,我有:
@org.junit.jupiter.api.Test
在每个测试方法之前和我悬停时,我得到"无法解析符号Test"
我只是想创建然后运行一些单元测试,但显然我做错了。
有什么想法吗?
谢谢!
答案 0 :(得分:2)
将以下依赖项添加到Gradle:
testCompile("org.junit.jupiter:junit-jupiter-api:5.0.1")
在您的依赖项下。
dependencies {
testCompile("org.junit.jupiter:junit-jupiter-api:5.0.1")
答案 1 :(得分:1)
我不知道您正在使用Maven或Gradle。但是,如果您使用的是Maven,则只需在标签之间添加以下依赖项即可。如果您需要更多帮助,请告诉我。我在下面使用了较旧的版本,您可以从https://mvnrepository.com查看最新版本并更新pom脚本。
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.4.0</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.4.0</version>
<scope>test</scope>
</dependency>
答案 2 :(得分:0)
如果使用Maven,请确保在dependency
元素内指定一个dependencies
元素。
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.4.0-RC1</version>
<scope>test</scope>
</dependency>
如果您想在与测试相关的类之外使用这些断言,请在常规应用程序类中删除<scope>test</scope>
元素。
请注意,从JUnit 5.4.0开始,我们可以指定新的junitjupiter
的单个Maven工件,这反过来将为您的项目提供8个库。如果仅编写JUnit 5测试(Jupiter测试引擎),而不是“老式” JUnit 4测试或其他测试引擎,则非常方便。
如果使用Gradle而不是Maven,请参见Answer by RileyManda。
答案 3 :(得分:0)
如果使用IntelliJ-IDEA,请确保测试文件位于 Test Sources根目录中。
因为我的项目没有路径src/test/java
,所以当我使用 Ctrl + Shift + T 添加测试文件时,它会已添加到src/main/java
...