我用 Spring+Hibernate+postgres 写了一个 API,我有以下问题
1) 我正在尝试对我的 DAO 进行单元测试以进行 CRUD 操作。最好的方法是什么,对像 H2 这样的临时数据存储进行测试是否相同?
2)有没有建议的教程来做到这一点?
请帮忙
您可能希望使用Spring 配置文件进行测试,只需将您的 DataSources 与仅在您的测试中运行的嵌入式 H2 数据库交换。Spring 参考资料很好地解释了这一点。这很简单:
<jdbc:embedded-database id="dataSource">
<jdbc:script location="classpath:schema.sql"/>
<jdbc:script location="classpath:test-data.sql"/>
</jdbc:embedded-database>
id 属性将是 DataSource 类型的 bean 的 id。
您可能需要脚本来设置示例中的测试记录。
测试 DAO 的最佳方法是通过 test-applicationContext 使用内存中的 H2 数据库,您也可以使用 mockito 框架。
请参阅此Hibernate 临时数据存储 http://iamjosh.wordpress.com/2007/12/11/unit-testing-dao-classes-with-junit-spring/
希望能帮助到你。