4

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

我用谷歌搜索了一下,看起来我需要这样做:

import static org.junit.Assert.*;

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

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

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

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

谢谢!

4

2 回答 2

4

类的完整路径Assertions是:

org.junit.jupiter.api.Assertions.assertEquals

你的dependencies块应该是这样的:

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

Intellij IDEA 和 JUnit 5 有一个很好的指南。看看它:在 IntelliJ IDEA 中使用 JUnit 5

于 2017-01-06T18:46:49.413 回答
0

马文

验证您在 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 开始,我们可以指定新的非常方便的单个 Maven 工件,junit-jupiter它反过来将为您的项目提供 8 个库。

于 2019-01-27T23:45:03.040 回答