找不到符号assertEquals
我正在尝试为计算器编写我的第一个unit testing,但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 + ")); } }
编辑:谢谢你们,导入它作为静态帮助。 仅需要测试注释包括
import org.junit.Test;
assertEquals
是一个静态方法。 由于无法以静态方式显式导入静态方法而无法使用静态方法,因此必须使用以下任一方法:
import org.junit.Assert; ... Assert.assertEquals(...)
要么:
import static org.junit.Assert.assertEquals; ... assertEquals(...)
对于@Test
它有点不同。 @Test
是一个注释,你可以看到@
。 注释像类一样导入。
所以你应该导入它:
import org.junit.Test;
通常避免在import org.junit.*
等import org.junit.*
上使用通配符。 由于原因,请参阅为什么使用带有Java导入语句的通配符不好? 。
我正在使用jUnit4.12在java 8环境中使用JUnit
对我来说:编译器无法找到方法assertEquals,即使我使用过
import org.junit.Assert;
所以我改变了
assertEquals("addb", string);
至
Assert.assertEquals("addb", string);
因此,如果您遇到有关assertEqual
无法识别的问题, Assert.assertEquals(,);
其更改为Assert.assertEquals(,);
它应该解决你的问题
在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