gpt4 book ai didi

unit-testing - Unitils 与 Spring TestContext 框架

转载 作者:行者123 更新时间:2023-12-04 04:06:41 25 4
gpt4 key购买 nike

我正在考虑为我的 spring+hibernate web 应用程序使用哪个测试框架。最初我发现了 Unitils 并对它产生了浓厚的兴趣,但后来我看到了标准的 Spring TestContext Framework 并开始产生一些疑问。我对这个主题很陌生,但到目前为止我的理解如下:

Unitils 专家:

  • 混合使用了各种其他测试框架,例如 EasyMock 或 DbUnit
  • 建立在框架之上,提供一些额外的值(value),即休眠映射测试或反射测试实用程序

Spring TestContext 框架优点:

  • 允许在测试时使用标准的 Spring 注解
  • 可能拥有更大的用户群和更好的支持(这是我的假设,因为 Unitils 似乎基本上是由两个人创建的)
  • 还内置了一些 Unitils 功能(例如反射测试实用程序)
  • 如果我需要 Unitils 的任何“更大”功能,例如 DbUnit 或 EasyMock,我可以直接从源代码获取常规 DbUnit 或 EasyMock - 这让我始终拥有最新版本的 DbUnit/EasyMock,而无需等待 Unitils使用当前的 DbUnit/EasyMock 发布他们的新版本

所以现在我更倾向于使用 Spring TestContext Framework。有没有人对这些框架有更多的经验,可以帮助我朝着正确的方向倾斜?除了集成所有这些框架之外,Unitils 本身实际上提供了什么?

[编辑] 刚发现 Unitils 提供的一些东西:

这里有一个关于 Unitils 的精彩介绍,它说服了我开始使用 Unitils: http://www.javapolis.com/confluence/download/attachments/32918/C_14_09_04.pdf

我暂时把这个问题悬而未决,也许有人会想出一些其他的想法......

最佳答案

我们在项目中使用 Unitils 和 Spring 的测试框架。对于 unitils,我们遇到的一件事是拥有多个 PersistenceUnit。 Unitils 不支持它。 Spring 当然有。

我在这里发布了我们遇到的另一个问题:Using unitils/dbMaintain to maintain database, how to exclude scripts from being run?

基本上,unitils 不具有每个底层框架(例如 DBMaintain)的所有最新功能,因为 unitils 在幕后使用其他框架的“旧”版本。

也就是说,Unitils 确实有一些非常方便的方法,比如 DatabaseUnitils 中提供的一些方法。 .我们特别喜欢 updateSequences()

因此,为了最终的灵 active 和/或如果您预计代码结构相当复杂,我会尽可能坚持使用 Spring 的测试框架。

在许多其他情况下,unitils 是一个非常方便的工具。

还有一点 p.s... 如果可能的话,我会推荐使用单元测试和模拟框架,如 Mockito 与集成测试。我一直是一个“集成测试”重度测试人员,在最后一个项目中,它变成了一个维护挑战。

关于unit-testing - Unitils 与 Spring TestContext 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8149381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com