首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >找不到符号assertEquals

找不到符号assertEquals
EN

Stack Overflow用户
提问于 2013-12-17 10:26:53
回答 7查看 114.9K关注 0票数 55

我试图为计算器编写我的第一个单元测试,但是NetBeans说它找不到符号assertEquals和注释@Test

我应该包括些东西吗?

我使用的是NetBeans 7.3.1和W7。

代码语言:javascript
运行
复制
package calculator;

import org.junit.Assert.*;

public class UnitTests{

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

编辑:谢谢各位,把它作为静态帮助导入。测试注释只需包括

进口org.junit.Test;

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2013-12-17 10:29:01

assertEquals是一种静态方法。由于在不以静态方式显式导入静态方法的情况下不能使用静态方法,所以必须使用以下两种方法:

代码语言:javascript
运行
复制
import org.junit.Assert;
...
Assert.assertEquals(...)

或者:

代码语言:javascript
运行
复制
import static org.junit.Assert.assertEquals;
...
assertEquals(...)

对于@Test来说,这有点不同。@Test是一个注释,您可以通过@看到它。注释像类一样被导入。

所以您应该导入它,就像:

代码语言:javascript
运行
复制
import org.junit.Test;

通常避免在像import org.junit.*这样的导入中使用通配符。原因见为什么使用带有Java导入语句的通配符是错误的?

票数 88
EN

Stack Overflow用户

发布于 2017-05-19 22:06:59

JUnit 5木星

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

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

代码语言:javascript
运行
复制
import static org.junit.jupiter.api.Assertions.*;

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

票数 36
EN

Stack Overflow用户

发布于 2016-03-08 13:20:10

我正在使用jUnit4.12在java 8环境中处理JUnit

对于我来说:编译器无法找到方法assertEquals,即使我使用

import org.junit.Assert;

所以我改变了

assertEquals("addb", string);

Assert.assertEquals("addb", string);

因此,如果您所面临的assertEqual问题未被识别,那么将其改为Assert.assertEquals(,);,它将解决您的问题。

票数 10
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20631621

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档