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

i30*_*817 11 java collections unit-testing

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

Lou*_*man 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();
}
Run Code Online (Sandbox Code Playgroud)

这为实现生成了一套完整的,非常详尽的测试用例Set.

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


Boh*_*ian 1

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

  • 我认为你误解了这个问题——他有自定义的集合“实现”。那些 hamcrest 匹配器不会做任何测试。 (2认同)