【发布时间】:2017-09-26 14:58:53
【问题描述】:
我做了一个方法来计算字符串中给定字符的出现次数。
public Integer numberOf(String str, Character a){}
我尝试使用以下方法正常测试:
@Test
public void test1(){
Integer result = oc.numberOf("Lungimirante", 'u');
Assert.assertEquals(1, result);
}
但 Eclipse 抱怨它。
我用谷歌搜索,发现我需要使用它来测试它:
assertEquals(1, result); //it works correctly
而不是:Assert.assertEquals(1, result);
你能解释一下为什么吗?有什么区别?
【问题讨论】:
-
assert[Equals,etc.]方法调用来自junit.framework.Assert类(或org.junit.Assert等)的静态导入。可能你有一个import static junit.framework.Assert.*或类似的声明,但你实际上并没有导入junit.framework.Assert。 -
@Mena: yes to use
assertEqualsI import:import static org.junit.Assert.assertEquals;and before to useAssert.assertEqualsonly importorg.junit.Assert; -
我讨厌自动装箱,这也是原因之一。将
NullPointerExceptions带到您意想不到的地方是另一回事。因此,我将 Eclipse 配置为将自动装箱的发生视为错误(恕我直言,它不言而喻,这是一个选项,我的观点并没有那么错)
标签: java eclipse testing junit assert