我目前正在做一些研究,我正在寻找使用JUnit和Ant的开源Java项目。理想情况下,我希望有不同规模/复杂性/领域以及测试套件覆盖范围的项目。
我似乎很难找到符合这些标准的合适的开源项目:
- 项目有许多JUnit测试用例
- 所有JUnit测试用例都可以从一个测试类(即JUnit测试套件)中运行
- 该项目使用Ant进行构建和测试
我确信,社区将从符合上述标准的可用开源项目列表中受益。从使用这些技术的项目中学习总是可能的。作为额外的奖励,研究人员还可以快速确定适合他们研究的开源项目。
根据标准,以下是合适的开源项目:
- JGAP
- Joda时间
- JSR-166
- mark4j
好吧,我刚刚提到JSR-166,它是用于各种并发实用程序的Java规范请求。源代码有一个位于顶层的Ant任务和一个相当广泛的基于JUnit的测试套件。另外一个好处是,测试中的单元实际上是JDK中包含的类,JDK有几个优点:
-
它们有很好的记录,但通常情况并非如此。
-
由于它们是JDK的一部分,大多数有经验的Java程序员应该已经熟悉了。如果不了解实际的代码库,理解构建系统或测试套件等支持基础设施就足够困难了。
也就是说,还有几个问题:
-
当前的代码正在流血——真的!目前的版本至少需要Java7,而且似乎是面向Java8的。您可能想要检索更接近生产中使用的Java版本的旧版本的代码。
-
JSR-166的源代码组织得不是很好。我遇到的明显问题是缺少一个单一的包根,并且属于默认包的类过多。您已收到警告。。。
PS:这个问题不太适合StackOverflow,因为它没有一个答案。我提供这个答案是为了指出一个明显的代码库,即Java本身,缺乏经验的程序员往往会完全忽略它,因为他们认为它是系统的一部分。。。
marc4j符合您的要求。您可以下载项目,解压,然后使用附带的ant脚本编译和运行JUnit测试。