我正在尝试使用junit框架构建一个示例测试类 我已经下载了junit4.9b3 当我尝试编译我的测试类时,我收到以下错误: -
javac -cp ".;C:\Documents and Settings\user\Desktop\junit\junit4.9b3\junit-4.9b3.jar"
TestSubscription.java
TestSubscription.java:10: cannot find symbol
symbol : method assertTrue(boolean)
location: class TestSubscription
assertTrue(s.pricePerMonth()==100.0);
^
TestSubscription.java:17: cannot find symbol
symbol : method assertTrue(boolean)
location: class TestSubscription
assertTrue(s.pricePerMonth()==66.67);
^
2 errors
看起来assertTrue不可用,但junit javadoc提到了这种方法 我正在使用导入如下
import org.junit.*;
import org.junit.Assert.*;
有什么想法吗?
答案 0 :(得分:48)
您已导入了这些类型,但没有使用static import来使成员无资格可用。如果您使用:
import static org.junit.Assert.*;
然后应该静态导入Assert
类中的所有静态方法,这样您就可以编写assertTrue
而不是Assert.assertTrue
。
请注意,大概Assert
本身有嵌套类型,否则我预计你的“正常”导入会失败。
答案 1 :(得分:10)
您必须进行静态导入。
import static org.junit.Assert.*;