gpt4 book ai didi

java - DAO 测试 : the right way?

转载 作者:搜寻专家 更新时间:2023-11-01 02:30:47 24 4
gpt4 key购买 nike

我想使用 JUnit 4.9 测试通过 Hibernate 4.1 实现的我的类 MyTypeDAO。我有以下问题:

在我的 DAO 中,我有一个 findById 方法,它通过 ID 检索我的类型的实例。如何测试这个方法?

我做了什么:

  1. 我创建了一个我的类型的实例。
  2. 然后,我需要保留这个实例,但是如何呢?我可以依赖我的 saveMyType 方法吗?我不这么认为,因为我在测试用例中并且没有测试此方法。
  3. 然后,我需要使用在步骤 1 中创建的实例的 ID 调用 findById 方法。
  4. 最后,我检查在步骤 1 中创建的实例是否与我在步骤 3 中获得的实例相同。

有什么想法吗?最佳做法是什么?

我对保存方法有同样的疑问,因为在运行它之后,我需要检索保存实例。同样,我认为我不能依赖我的 findById 方法,因为它尚未经过测试。

谢谢

最佳答案

一种可能的方法是:

在内存中创建一个用于测试的数据库,从预定义的 sql 脚本加载该数据库的内容,然后针对该数据库测试您的 DAO 类。

每次开始测试时,数据库都会使用 sql 脚本从头开始创建,您会知道哪个 ID 应该返回结果,哪个不应该。

参见 [DbUnit][1](来自 satoshi 的评论)

关于java - DAO 测试 : the right way?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9940010/

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