12

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

4

2 回答 2

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

它没有尽可能完整地记录,但它会给你一个非常详尽的测试套件。

于 2012-08-24T01:50:17.427 回答
1

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

于 2012-08-19T02:38:21.337 回答