DAO 测试的优雅方式
Posted
技术标签:
【中文标题】DAO 测试的优雅方式【英文标题】:Elegant way for DAO testing 【发布时间】:2017-08-27 05:24:06 【问题描述】:我想改进我的数据库访问代码测试。
我正在使用 GAE 数据存储。为了测试 Db 类,我使用了 Backdoor Servlet。只是想知道,有没有更高效和优雅的方式来进行 DAO 测试? 您对 DAO 的单元测试与集成测试有何看法?
【问题讨论】:
【参考方案1】:这在一定程度上取决于您的数据库是如何设置的。除了您已有的选项之外,还有其他几个选项:
您可以直接针对您的 DAO 编写单元测试。您可以使用 mockito 模拟数据库调用。 您可以编写记录与数据库集成的单元测试,然后在您第二次运行测试时重放它。请参阅 betamax 库。 您可以针对实际数据库运行单元测试。现在它不再是单元测试,而是一种集成测试。在这种情况下,您需要考虑如何在数据库中获得一个干净的状态来开始。 您可以对整个系统运行集成测试,并确保使用代码覆盖工具触及大部分数据库代码。我更喜欢对整个事物进行全面的集成测试,包括数据库和任何其他第三方集成。并对细节进行单元测试,但不一定涉及实际的数据库调用。但是 - 一如既往 - 您的设置可能会将您引向其他方向。
【讨论】:
以上是关于DAO 测试的优雅方式的主要内容,如果未能解决你的问题,请参考以下文章