AssertionFailedError:布尔方法上的null

时间:2013-06-14 16:05:34

标签: java junit boolean assert

我正在测试一个方法,该方法将两个对象作为参数并返回boolean。当我对相关方法使用assertTrueassertFalse时,我会遇到以下测试失败: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());
}

1 个答案:

答案 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)

具有相同的堆栈跟踪