JUnit5:查找AssertEquals时出现问题

0aydgbwb  于 2022-09-20  发布在  其他
关注(0)|答案(2)|浏览(193)

我在IntelliJ Idea中设置了JUnit,并进行了一系列没有任何内容的测试。当我运行它们时,它们都像预期的那样通过。然而,当我输入“assertEquals”时,它显示为红色。当我将鼠标悬停在它上面时,它会显示“无法解析方法”。

我已经在谷歌上搜索过了,看起来我需要做的是:

import static org.junit.Assert.*;

然而,当我开始输入import static org.junit.时,下一个选项是“*”、“jupiter”或“form”……

以下是我的IDE中的示例测试,以供参考:

@org.junit.jupiter.api.Test
void isButton() {
    assertEquals()
}

你知道怎么解决这个问题吗?

谢谢!

0x6upsns

0x6upsns1#

Assertions类的完整路径为:

org.junit.jupiter.api.Assertions.assertEquals

确保已将Jupiter API添加到您的依赖项中:

Gradle:

dependencies {
    testCompile("org.junit.jupiter:junit-jupiter-api:5.9.0")
}

Maven:

<dependency>
    <groupId>org.junit.jupiter</groupId>
    <artifactId>junit-jupiter</artifactId>
    <version>5.9.0</version>
    <scope>test</scope>
</dependency>

IntelliJ Idea和JUnit5有一个很好的指南。

dtcbnfnu

dtcbnfnu2#

Maven

验证您在POM文件中指定的依赖项。您应该将以下内容嵌套在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>

如果在测试类之外调用Assert,请在常规应用程序类中删除<scope>test</scope>元素。

示例类

下面是一个简单的测试示例。

package work.basil.example;

import org.junit.jupiter.api.Test;

import static org.junit.jupiter.api.Assertions.assertTrue;

/**
 * Unit test for simple App.
 */
public class AppTest 
{
    /**
     * Rigorous Test :-)
     */
    @Test
    public void shouldAnswerWithTrue()
    {
        assertTrue( true );
    }
}

新增junit-jupiter神器

注意,从JUnit5.4.0开始,我们可以指定新的、非常方便的单个Maven构件junit-jupiter,它将为您的项目提供8个库。

相关问题