是否有任何公开可用的Java集合单元测试?

时间:2012-08-19 02:25:07

标签: java unit-testing collections

测试哪些我可以专门插入我的Set和ListIterator实现。

2 个答案:

答案 0 :(得分:9)

Guava有一组TestSuiteBuilders,它们共同为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实现生成了一套完整的详尽的测试用例。

它没有尽可能完整的文档记录,但它会为您提供非常详尽的测试套件。

答案 1 :(得分:1)

Hamcrest库为单元测试集合提供了许多方法(例如断言两个集合包含相同的元素等)。恕我直言,它几乎是一个行业标准。