Unitils 项目还活着吗?
Is Unitils project alive?
有人知道 unitils project 是否还活着。在 Maven 存储库中,页面上的最后一个版本是 3.3,它是 3.4.2。(实际上有 google 他们页面的缓存版本,据说版本是 3.4.2)
总之这个项目有没有替代品。我有点缺乏周围生动的社区,真的不想被束缚在垂死的项目上。
Unitils 现在似乎几乎被遗弃了。项目在 GitHub here 上可用,您可以查看其历史记录和 activity.
无论如何我的两分钱...
Unitils 有严重的缺点:
- 集成了许多 third-party 库(easymock、dbunit、spring、dbmaintainer、xmlunit、slf4j 等)并因此强制使用它们的版本——这是一个非常严重的缺点
- 由于依赖于许多第 3 方库,几乎不可能在没有任何公司支持的情况下保持最新。
- Unitils 4.0 从 06.2011 开始开发,原定于 01.2012 发布,但现在(01.2016)4 年后 仍未发布。
DbUnit
对于 database-driven 应用程序,似乎有趣的方法是普通 DbUnit + Spring-Test 或者一些第 3 方工具:
- excilys/spring-dbunit 带有方便的
@DataSet
注释并在 github 上积极开发,也不断更新以使用最新版本的 DbUnit 和 Spring 框架.
- springtestdbunit/spring-test-dbunit 也托管在 github 上(带有
@DatabaseSetup
注释)。
两者非常相似,但我个人觉得 DbUnit 令人困惑,非常麻烦并且 time-consuming。为什么?尝试维护大量的小 xml 文件,您就会明白我的意思。合并多个数据集也很困难。
DbSetup
我的选择。 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 project 是否还活着。在 Maven 存储库中,页面上的最后一个版本是 3.3,它是 3.4.2。(实际上有 google 他们页面的缓存版本,据说版本是 3.4.2)
总之这个项目有没有替代品。我有点缺乏周围生动的社区,真的不想被束缚在垂死的项目上。
Unitils 现在似乎几乎被遗弃了。项目在 GitHub here 上可用,您可以查看其历史记录和 activity.
无论如何我的两分钱...
Unitils 有严重的缺点:
- 集成了许多 third-party 库(easymock、dbunit、spring、dbmaintainer、xmlunit、slf4j 等)并因此强制使用它们的版本——这是一个非常严重的缺点
- 由于依赖于许多第 3 方库,几乎不可能在没有任何公司支持的情况下保持最新。
- Unitils 4.0 从 06.2011 开始开发,原定于 01.2012 发布,但现在(01.2016)4 年后 仍未发布。
DbUnit
对于 database-driven 应用程序,似乎有趣的方法是普通 DbUnit + Spring-Test 或者一些第 3 方工具:
- excilys/spring-dbunit 带有方便的
@DataSet
注释并在 github 上积极开发,也不断更新以使用最新版本的 DbUnit 和 Spring 框架. - springtestdbunit/spring-test-dbunit 也托管在 github 上(带有
@DatabaseSetup
注释)。
两者非常相似,但我个人觉得 DbUnit 令人困惑,非常麻烦并且 time-consuming。为什么?尝试维护大量的小 xml 文件,您就会明白我的意思。合并多个数据集也很困难。
DbSetup
我的选择。 DbSetup 不需要外部 xml/ json 文件,非常方便,允许您使用流畅的构建器自由组合多个数据集。 看看下面的代码:
final Operation sql =
sequenceOf(
CommonOperations.DELETE_ALL,
CommonOperations.INSERT_REFERENCE_DATA,
prepareSpecialData()
);
DbSetup dbSetup = new DbSetup(new DataSourceDestination(dataSource), sql);
一切都是java,所以你可以自由重构它,提取方法等
希望对您有所帮助。