DAO的单元测试

时间:2013-07-11 03:47:01

标签: unit-testing testing dao sample

这是我第一次进行单元测试,所以我试图找到如何对DAO进行单元测试的参考资料。你们能举一个setUpBeforeClasssetUphow to test a method that inserting new data in database using model for this的简单例子吗?只是一个使用简单模拟的简单示例。感谢您的考虑

1 个答案:

答案 0 :(得分:0)

  

使用模拟对象执行单元测试的想法让我觉得很奇怪,因为你所做的就是测试你的模拟对象而不是真实对象。如果您认为需要使用模拟对象来模拟数据库访问,那么整个体系结构都是错误的。我个人使用3层架构构建我的所有软件,我可以在业务层中拥有尽可能多的对象,但在数据访问层中只有1个对象。因此,如果我想与虚拟数据库访问交换真正的数据库访问,我将在哪里进行更改?我的业务层中的所有200多个对象,或者只是数据访问层中的1个对象?为什么我应该实现一种机制来改变应用程序中的每个对象,而我真正需要做的就是改变一个?

     

控制器应进行集成测试,而非单元测试。但是测试金字塔规定单位级别是焦点所在的位置,因此默认情况下人们会被吸引到这个位置。

     

在任何情况下,断言都不应该失败。   如果它们在测试中失败,则表示存在逻辑错误。   基本上,如果你的函数正在执行“assert(0)”而不是返回错误代码,那么应该重写该函数。

     

您是否可以对类定义进行大量更改 - 甚至抛弃整个事物并将其替换为完全不同的实现 - 而不会影响使用该类对象的任何代码?

     

不幸的是,由于源自Java等严格语言的各种模式,依赖注入已经普及并被提倡作为跨语言最佳实践,以获得灵活性和可塑性的优势。

<强>参考