我正在测试一个方法,该方法将两个对象作为参数并返回boolean
。当我对相关方法使用assertTrue
或assertFalse
时,我会遇到以下测试失败:junit.framework.AssertionFailedError: null
。
我知道我传递了无效参数,可能会在方法中导致NPE,但这不是正在发生的事情,而是测试失败。
注意:我使用的是boolean
,而不是Boolean。
示例代码:
类别:
public class MyClass{
public boolean foo(MyObject1 lhs, MyObject2 rhs){
//doSomething
//return something
}
}
测试:
.... //initilization of myClass, etc.
@Test
public void testFoo(){
assertTrue(myClass.foo(new MyObject1(), new MyObject2());
}
答案 0 :(得分:9)
“null
”显示为带有空白消息参数的JUnit 3断言(junit.framework.Assert
)中的消息。这已在JUnit 4(org.junit.Assert
)中修复。
示例:强>
JUnit 3:
assertTrue(false)
与assertTrue("null", false)
JUnit 4:
assertTrue(false)
与assertTrue("", false)