因为DAO层的方法将依赖于在复杂系统中的数据库, 数据的一些操作将取决于大量的表格中, 这样的单元测试是不可重复的,独立的,如何做DAO(db)图层单元测试?
我不知道如何良好的TDD层做到这一点?谢谢。
因为DAO层的方法将依赖于在复杂系统中的数据库, 数据的一些操作将取决于大量的表格中, 这样的单元测试是不可重复的,独立的,如何做DAO(db)图层单元测试?
我不知道如何良好的TDD层做到这一点?谢谢。
恕我直言,你是要发生什么...如果你与你的SQL Server通信,那么你不是在进行单元测试,而是在进行集成测试。如果你这样做TDD,然后你意识到这一点,开始把服务器的通信到包装,这样你就可以存根和嘲笑任何测试数据,而不是使用像DbUnit的框架来控制数据库的状态。我认为您的业务逻辑不应直接与数据库 - 或Web服务或其他外部资源联系。如果是这样,可能性是你永远不会写任何东西,除了集成测试。
这是真的,像这样的测试更像集成测试,但无论哪个标签你穿上它,有可能仍然是一个需要进行测试。正如我在我的回应中提到,像嵌入的HSQLDB RDBMS将服务器通信的方程,但有没有按照预期的工作,确保类似的事情ORM的更好的方法?有没有类似DbUnit的替代方法,它仍会给你提供关于是否调整Hibernate映射的某些准确反馈? – spaaarky21 2011-04-13 13:39:23