Gio*_*Guy 30 java testing junit symbols class
我正在尝试为计算器编写我的第一个单元测试,但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 + "));
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:谢谢你们,导入它作为静态帮助.仅需要测试注释包括
import org.junit.Test;
bob*_*bel 59
assertEquals是一种静态方法.由于无法以静态方式显式导入静态方法而无法使用静态方法,因此必须使用以下任一方法:
import org.junit.Assert;
...
Assert.assertEquals(...)
Run Code Online (Sandbox Code Playgroud)
要么:
import static org.junit.Assert.assertEquals;
...
assertEquals(...)
Run Code Online (Sandbox Code Playgroud)
因为@Test它有点不同.@Test是一个注释,你可以看到@.注释像类一样导入.
所以你应该像它一样导入它:
import org.junit.Test;
Run Code Online (Sandbox Code Playgroud)
通常避免在导入上使用通配符import org.junit.*.出于原因,请参阅为什么使用带有Java import语句的通配符不好?.
在JUnit 5中,程序包名称已更改,“断言”位于org.junit.jupiter.api.Assertions,“假设”位于org.junit.jupiter.api.Assumptions
因此,您必须添加以下内容static import:
import static org.junit.jupiter.api.Assertions.*;
Run Code Online (Sandbox Code Playgroud)
另请参见http://junit.org/junit5/docs/current/user-guide/#writing-tests-assertions
我正在使用jUnit4.12在Java 8环境中开发JUnit
对我来说:即使我使用了编译器,也无法找到方法assertEquals
import org.junit.Assert;
所以我改变了assertEquals("addb", string);
对Assert.assertEquals("addb", string);
因此,如果您遇到有关assertEqual无法识别的问题,则将其更改为Assert.assertEquals(,);它可以解决您的问题
我遇到了同样的问题,cannot resolve symbol Assert我通过添加来自不同答案的不同导入来尝试这些解决方案。
但发挥魔力的解决方案只是将其放入字典junit-4.12.jar中app\lib并构建项目,然后像这样导入
import org.junit.Assert;
Run Code Online (Sandbox Code Playgroud)
junit-4.12.jar你可以从这里下载
| 归档时间: |
|
| 查看次数: |
54629 次 |
| 最近记录: |