找不到符号断言等值JUnit 5 木星

2022-08-31 19:44:16

我正在尝试为计算器编写我的第一个单元测试,但NetBeans说它找不到符号和注释。
我应该包括一些东西吗?
我使用的是 NetBeans 7.3.1 和 W7。assertEquals@Test

package calculator;

import org.junit.Assert.*;

public class UnitTests{

    @Test
    public void checkAdd(){
        assertEquals(2, Calculator.rpnCalc(" 2 3 + "));
    }
}

编辑:谢谢伙计们,将其作为静态导入有帮助。仅需要测试注释,包括

import org.junit.Test;


答案 1

assertEquals是一种静态方法。由于如果不以静态方式显式导入静态方法,则无法使用静态方法,因此必须使用以下任一方法:

import org.junit.Assert;
...
Assert.assertEquals(...)

艺术

import static org.junit.Assert.assertEquals;
...
assertEquals(...)

因为它有点不同。 是一个注释,如 您所见。批注像类一样导入。@Test@Test@

因此,您应该像这样导入它:

import org.junit.Test;

通常避免对导入(如 )使用通配符。有关原因,请参阅为什么在 Java 导入语句中使用通配符不好?import org.junit.*


答案 2

JUnit 5 木星

在 JUnit 5 中,包名称已更改,断言位于,假设位于org.junit.jupiter.api.Assertionsorg.junit.jupiter.api.Assumptions

因此,您必须添加以下内容:static import

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

另请参见 http://junit.org/junit5/docs/current/user-guide/#writing-tests-assertions