【问题标题】:MyBatis - How to unit test result maps?MyBatis - 如何对结果图进行单元测试?
【发布时间】:2018-12-06 19:10:19
【问题描述】:

mybatis 文档说明:

始终以增量方式构建 ResultMap。单元测试在这里真的很有帮助。如果你试图一次构建一个像上面那样的巨大 resultMap,你很可能会弄错并且很难使用它。从简单开始,一步一步地发展。和单元测试!使用框架的缺点是它们有时有点像黑匣子(开源与否)。确保实现预期行为的最佳选择是编写单元测试。在提交错误时拥有它们也很有帮助。

但是,他们在文档中没有说明如何对 resultMaps 进行单元测试。在他们的 github wiki 上,他们有 a page on unit testing,但它似乎更适合贡献者而不是用户。当我似乎需要构建一个功能齐全的内存数据库来测试映射时,如何按照他们的建议为结果映射编写单元测试?

需要内存数据库听起来更像是集成测试而不是单元测试,如果我的任何查询使用数据库特定的 SQL 语句,如 SQL Server T-SQL 语句,它就无法在不同的内存数据库上正确测试类型。我是不是误会了什么?

【问题讨论】:

    标签: unit-testing mybatis


    【解决方案1】:

    你的理解是正确的。

    wiki 上所谓的unit test 实际上是与内存数据库的集成测试。您可以尝试提供一个模拟的DataSource,它返回模拟的Connection,依此类推直到ResultSet,但这不是很实用。集成测试更适合这里。

    我想说的重点不是unit-test(在这种情况下应该被称为测试)而是增量部分。映射器中的 mybatis 错误消息有时很神秘,因此使用短(类似 TDD)反馈循环有助于处理它。如果您为单个映射器运行测试,您正在处理的编辑运行周期可能会相当短。

    【讨论】:

      猜你喜欢
      • 2011-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-27
      • 1970-01-01
      • 2010-09-29
      • 2019-07-30
      • 1970-01-01
      相关资源
      最近更新 更多