是否有用于Java自定义集合实现的testsuite?
出于好奇,我为一个特殊情况编写了一个自己的是否有用于Java自定义集合实现的testsuite?,java,unit-testing,collections,Java,Unit Testing,Collections,出于好奇,我为一个特殊情况编写了一个自己的Set的简单实现(其中所有可能条目的集合都是固定的,但它不是enum)。这其实很简单,但是很明显,如果没有很多测试,我的实现是不可用的(甚至可能在那时,但这是另一个主题;它主要是一个练习) 那么,有没有可用的测试套件可以用于单元测试呢?Oracle拒绝为java开放源代码测试套件,这是OSS社区和Oracle之间争论的核心 有关更多信息,请参见此处: 所以我怀疑你能做些什么来验证你是否符合标准 这里有一段摘录: 问题的核心是Apache无法证明其名为H
Set
的简单实现(其中所有可能条目的集合都是固定的,但它不是enum
)。这其实很简单,但是很明显,如果没有很多测试,我的实现是不可用的(甚至可能在那时,但这是另一个主题;它主要是一个练习)
那么,有没有可用的测试套件可以用于单元测试呢?Oracle拒绝为java开放源代码测试套件,这是OSS社区和Oracle之间争论的核心 有关更多信息,请参见此处: 所以我怀疑你能做些什么来验证你是否符合标准 这里有一段摘录: 问题的核心是Apache无法证明其名为Harmony的开源Java实现符合Java语言标准,因为Oracle拒绝在适当的开放许可下提供必要的测试套件。Oracle在这一问题上的立场与JCP政策相抵触,JCP政策规定标准和其他相关材料必须可以自由再发行,并根据有利于第三方开源实现的条款提供 在相当长的一段时间内,这一冲突一直是相当大的摩擦的主题,因为Sun同样在Oracle收购该公司之前拒绝ASF适当访问测试套件。甲骨文最初站在Apache一边,要求以开放条款发布测试套件,但在收购Sun后改变了立场。甲骨文对这一问题的处理方式非常强烈地表明,该公司可能不愿意解决Sun时代出现的任何长期存在的JCP治理问题
使用番石榴
SetTestSuiteBuilder
示例:
它是作为maven central的“guava testlib”的一部分发布的。实际上,我不需要“标准一致性”,只需要有人为自己的收藏使用几个测试。尽管如此,很高兴知道它不会来自Oracle。请注意,这些测试非常彻底,即使是许多JDK集合也无法全部通过。