我正在测试一个将两个对象作为参数并返回 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());
}
最佳答案
“null
”在 JUnit 3 断言 (junit.framework.Assert
) 中显示为带有空白消息参数的消息。这已在 JUnit 4 ( org.junit.Assert
) 中修复。
示例:
JUnit 3:
assertTrue(false)
具有与 assertTrue("null", false)
JUnit 4:
assertTrue(false)
与 assertTrue("", false)
具有相同的堆栈跟踪
关于java - 断言失败错误 : null on boolean method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17112757/