我试图为计算器编写我的第一个单元测试,但是NetBeans说它找不到符号assertEquals
和注释@Test
。
我应该包括些东西吗?
我使用的是NetBeans 7.3.1和W7。
package calculator;
import org.junit.Assert.*;
public class UnitTests{
@Test
public void checkAdd(){
assertEquals(2, Calculator.rpnCalc(" 2 3 + "));
}
}
编辑:谢谢各位,把它作为静态帮助导入。测试注释只需包括
进口org.junit.Test;
发布于 2013-12-17 10:29:01
assertEquals
是一种静态方法。由于在不以静态方式显式导入静态方法的情况下不能使用静态方法,所以必须使用以下两种方法:
import org.junit.Assert;
...
Assert.assertEquals(...)
或者:
import static org.junit.Assert.assertEquals;
...
assertEquals(...)
对于@Test
来说,这有点不同。@Test
是一个注释,您可以通过@
看到它。注释像类一样被导入。
所以您应该导入它,就像:
import org.junit.Test;
通常避免在像import org.junit.*
这样的导入中使用通配符。原因见为什么使用带有Java导入语句的通配符是错误的?。
发布于 2017-05-19 22:06:59
JUnit 5木星
在JUnit 5中,包名已经更改,断言位于org.junit.jupiter.api.Assertions
和org.junit.jupiter.api.Assumptions
的假设处。
因此,您必须添加以下static import
import static org.junit.jupiter.api.Assertions.*;
另见http://junit.org/junit5/docs/current/user-guide/#writing-tests-assertions
发布于 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(,);
,它将解决您的问题。
https://stackoverflow.com/questions/20631621
复制相似问题