问题描述
如今,Unitils似乎几乎被遗弃了。该项目可在GitHub上找到,您可以查看其历史和活动。
反正我的两分钱
具有严重的缺点:
- 集成了许多第三方库(easymock,dbunit,spring,dbmaintainer,xmlunit,slf4j等),因此强制使用它们的版本-这确实是一个严重的缺点
- 由于依赖于许多第三方库,因此几乎不可能在没有任何公司支持的情况下使其保持最新状态。
- Unitils 4.0自2011年6月6日开始开发,计划于2012年1月01日发布,但 现在(01.2016)仍未发布。
对于数据库驱动的应用程序,似乎很有趣的方法是使用简单的DbUnit + Spring-Test或某些第三方工具:
-
excilys / spring-dbunit带有方便的
@DataSet
注释,并在github上进行了积极开发,并不断进行更新以使用DbUnit和Spring Framework的最新版本。 -
springtestdbunit / spring-test-dbunit 也托管在github上(带有
@DatabaseSetup
注释)。
两者非常相似,但是我个人觉得DbUnit令人困惑,既麻烦又费时。为什么?尝试维护大量的小型xml文件,您就会明白我的意思。同时合并多个数据集确实非常困难。
我的选择。DbSetup不需要外部xml / json文件,非常方便,它允许您使用流利的构建器自由组合多个数据集。只需看下面的代码:
final Operation sql =
sequenceOf(
CommonOperations.DELETE_ALL,
CommonOperations.INSERT_REFERENCE_DATA,
prepareSpecialData()
);
DbSetup dbSetup = new DbSetup(new DataSourceDestination(dataSource), sql);
一切都是Java,因此您可以自由地对其进行重构,提取方法等。
希望能帮助到你。
解决方法
任何人都知道unitils项目是否仍然存在。在这些页面上,maven存储库中的最新版本是3.3,即3.4.2。(实际上是Google缓存其页面的版本,据说该版本为3.4.2)。
无论如何,这个项目有什么替代品。我周围缺少生动的社区,真的不想被垂死的项目束缚。