我在Eclipse中使用EclEmma(更具体地说,是RSA 8)。我的代码中有以下声明:
public static boolean isEmpty(Collection collection) {
return (collection == null) || collection.isEmpty();
}
我有以下测试:
@Test public void isEmpty_nullCase() {
assertTrue(CollectionUtil.isEmpty(null));
}
@Test public void isEmpty_listCase() {
assertTrue(CollectionUtil.isEmpty(new ArrayList()));
}
但由于某种原因,该声明显示为黄色。我不测试它的哪一部分?
谢谢, 彼得
答案 0 :(得分:2)
具有值的ArrayList如何,因此不为空?
答案 1 :(得分:0)
添加以下测试用例:
@Test
public void checkNonNullNonEmpty(){
Assert.assertFalse(CollectionUtil.isEmpty(new ArrayList<String>(){
{
add("blah blah blah....!");
}
});
}
您只测试了真实条件。理想情况下,return (collection == null) || collection.isEmpty();
语句有4种可能的组合。第一个条件可以是T / F,第二个可以是T / F.总共有4种可能性。你只有3个。上述测试用例将涵盖非null非空的可能性。