JUnit5:找不到AssertEquals的麻烦

时间:2017-01-06 18:43:24

标签: java intellij-idea junit junit5 junit-jupiter

我在IntelliJ IDEA中设置了JUnit,并且在其中没有任何内容的测试。当我运行它们时,它们都按预期通过。但是,当我输入“assertEquals”时,它会显示为红色。当我将鼠标悬停在它上面时,它会显示“无法解决方法。”

我已经用Google搜索了,看起来我需要这样做:

import static org.junit.Assert.*;

但是,当我开始输入import static org.junit.时,下一个选项是“*”,“jupiter”或“platform”......

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

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

知道如何解决这个问题吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

Assertions课程的完整路径是:

org.junit.jupiter.api.Assertions.assertEquals

您的dependencies区块应该是:

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

Intellij IDEA和JUnit 5有一个很好的指南。 看看它:Using JUnit 5 in IntelliJ IDEA

答案 1 :(得分:0)

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>

如果在测试类之外调用断言,请在常规应用类中删除<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工件

请注意,从JUnit 5.4.0开始,我们可以指定junit-jupiter的新的且非常方便的单个Maven工件,这反过来将为您的项目提供8个库。