断言junit语句

时间:2017-08-16 12:04:05

标签: java junit

我的方法有时会返回null而不是null值,所以如何为这些场景编写断言

例如:assertNotNull(some statement)

3 个答案:

答案 0 :(得分:8)

简单:

@Test
public void testFooGivesNotNull() {
  assertNotNull(foo.bar(somethingLeadingToNotNull));
}

@Test
public void testFooGivesNull() {
  assertNull(foo.bar(somethingElseLeadingToNull));
}

换句话说:您通过识别可能的测试用例来做到这一点,然后为每个可能的路径编写至少一个测试。

对于记录:返回 null 很少是个好主意。 null 是进入NullPointerException的第一步。考虑替代方案,例如

  • 返回表示" null"
  • 的特殊对象
  • 返回Optional
  • 抛出异常

答案 1 :(得分:1)

只需调用您的函数并添加错误消息:

Assert.assertNotNull(someFunction(), "This should not be null");

答案 2 :(得分:1)

使用Assert.assertNotNull的好方法是通过静态导入。

import static org.junit.Assert.assertNotNull;


assertNotNull(yourValueTobeCheckAsNull, "This should not be null");