未找到朱尼特方法

2022-09-01 19:57:47

我正在尝试使用 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.*;

有什么想法吗?


答案 1

您已导入类型,但未使用静态导入使成员在不带限定的情况下可用。如果您使用:

import static org.junit.Assert.*;

那么它应该静态导入类中的所有静态方法,以便您可以编写而不是.AssertassertTrueAssert.assertTrue

请注意,可能本身具有嵌套类型,否则我本来以为“正常”导入会失败。Assert


答案 2

您必须执行静态导入。

import static org.junit.Assert.*;

推荐