【问题标题】:Spring Boot Rest application: Testing JDBC DAO layerSpring Boot Rest 应用程序:测试 JDBC DAO 层
【发布时间】:2022-01-14 08:32:32
【问题描述】:

如果我的应用程序只从数据库中选择信息并且不写任何东西,我如何在Spring Boot Application 中测试我的DAO 层?

更重要的是,我的应用程序从视图中选择数据。

常见的做法是通过注解@BeforeEach的方法写入一些测试数据,并通过注解@AfterEach的方法删除。

但由于我的应用程序执行查询以查看,我无法在数据库中插入任何数据。

有没有机会测试我的DAO 层?

【问题讨论】:

  • 你应该在测试数据库中测试它,你可以在你需要的表中插入数据并创建你需要测试的视图
  • 研究使用 MySQL TestContainer,用数据填充它,然后您的应用程序将按原样用于集成测试。但是,如果这是您正在考虑的单元测试,那么我将模拟 get 的响应,例如
  • 是的,你不能插入到视图中......你插入到构建视图的表中。

标签: spring spring-boot unit-testing dao spring-jdbc


【解决方案1】:

你有几个选择:

  1. 使用嵌入的H2 database,然后使用data.sql 作为种子,您可以从测试数据库中转储它。

  2. 使用 DBUnit 并在 xml 文件中定义您的数据。

对你来说,我认为 data.sql 是要走的路。只需将 data.sql 添加到您的 test/resources 文件中,它就会被 JPA 拾取。

【讨论】:

    猜你喜欢
    • 2018-11-27
    • 2017-04-01
    • 2018-03-25
    • 2016-11-06
    • 2018-02-11
    • 2017-01-30
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    相关资源
    最近更新 更多