代码之家  ›  专栏  ›  技术社区  ›  Michal W

单元/集成测试-使用生产代码中的存储库/dao设置测试数据库

  •  0
  • Michal W  · 技术社区  · 5 年前

    我目前正在从事一个项目,该项目由多个存储库组成,所有存储库都与存储数据库操作代码的存储库有依赖关系:

    • 将databaseRepo作为依赖项的AWS lambda2的repo2
    • AWS lambda3的repo3将databaseRepo作为依赖项
    • ...
    • databaseRepo-SQL脚本、存储库和DAO(带普通 )用于数据库操作。

    1. 生产代码
    2. 创建 测试

    在我们的情况下

    你在用哪种方法?为什么?

    米哈尔

    0 回复  |  直到 5 年前
        1
  •  1
  •   mate00 GMc    5 年前

    切米查!:)如果我理解正确的话,我也会选择第二种选择。您正在测试与存储库数据具有外部依赖关系的代码/模块。因此,您可以将此依赖项抽象到接口并创建两个实现:一个用于生产,一个用于测试。在我看来,这是干净的,尽管它有一点代码重复。

    您可以做的另一件事甚至是使用mock以声明的方式告诉您希望驱动测试的值。