1

私はEclipse(より具体的にはRSA 8)でEclEmmaを使用しています。コードに次のステートメントがあります。

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....!");
    }
  });
}

真の条件のみをテストしました。理想的には、return (collection == null) || collection.isEmpty(); ステートメントの4つの可能な組み合わせがあります。1番目の条件はT/Fで、2番目の条件はT/Fです。つまり、合計4つの可能性があります。あなたは3つだけをカバーしました。上記のテストケースは、null以外の空でない可能性をカバーします。

于 2012-07-15T09:34:54.220 に答える