1

我在 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()));
}

但由于某种原因,该声明显示为黄色。我没有测试它的哪一部分?

谢谢,彼得

4

2 回答 2

2

一个 ArrayList 有一个值,因此不是空的呢?

于 2010-12-14T18:13:48.397 回答
0

添加以下测试用例:

@Test
public void checkNonNullNonEmpty(){
   Assert.assertFalse(CollectionUtil.isEmpty(new ArrayList<String>(){
    {
      add("blah blah blah....!");
    }
  });
}

您只测试了真实条件。理想情况下,有 4 种可能的return (collection == null) || collection.isEmpty(); 语句组合。第一个条件可以是 T/F,第二个条件可以是 T/F。所以总共有4种可能性。您只介绍了 3 个。上面的测试用例将涵盖非空非空的可能性。

于 2012-07-15T09:34:54.220 回答