12

具体的に Set と ListIterator の実装をプラグインできるかをテストします。

4

2 に答える 2

9

GuavaTestSuiteBuildersには、コンポーネント内の特定のコレクション実装に対して、一緒に数百から数千のテストケースを生成する一連のテストケースがありguava-testlibます。たとえば、次のように書くことができます

public static Test suite() {
  return SetTestSuiteBuilder.using(new TestStringSetGenerator() {
      @Override protected Set<String> create(String[] elements) {
         return ImmutableSet.copyOf(elements);
       }
    })
    .named("ImmutableSet");
    .withFeatures(CollectionSize.ANY, CollectionFeature.KNOWN_ORDER,
        CollectionFeature.SERIALIZABLE,
        CollectionFeature.ALLOWS_NULL_QUERIES)
    .createTestSuite();
}

これにより、実装のための完全で非常に網羅的なテスト ケースのセットが生成Setされます。

可能な限り完全に文書化されているわけではありませんが、非常に網羅的なテスト スイートが得られます。

于 2012-08-24T01:50:17.427 に答える
1

Hamcrestライブラリは、コレクションを単体テストするための多くのメソッドを提供します (たとえば、2 つのコレクションに同じ要素が含まれていることをアサートするなど)。私見、それはこの目的のための業界標準です。

于 2012-08-19T02:38:21.337 に答える