【发布时间】:2013-02-15 10:54:30
【问题描述】:
我有一组 EJB,它们通过一组 DAO 类从 Sybase 数据库中持久化和检索数据。 DAO 类是 POJO,它们直接在 JDBC 数据源上执行 sql 过程(准备好的语句)。 使用数据库中一些有意义的模拟数据,为这些 EJB 准备集成测试套件的合适框架是什么? spring/junit 提供一些帮助吗? 任何建议表示赞赏。
【问题讨论】:
标签: spring integration-testing junit4
我有一组 EJB,它们通过一组 DAO 类从 Sybase 数据库中持久化和检索数据。 DAO 类是 POJO,它们直接在 JDBC 数据源上执行 sql 过程(准备好的语句)。 使用数据库中一些有意义的模拟数据,为这些 EJB 准备集成测试套件的合适框架是什么? spring/junit 提供一些帮助吗? 任何建议表示赞赏。
【问题讨论】:
标签: spring integration-testing junit4
我认为单元测试就足够了,具体取决于您要验证的内容。
如果您只需要测试 EJB,我会使用在内存中工作的 DAO 的模拟版本(例如,使用 HashMap 来保存和检索数据的 DAO),这样您就可以将测试集中在输入和EJB 方法的输出。通过这种方式,您还可以通过编程方式填充您的测试数据。
如果您还需要测试您的 DAO 生成的 Sybase 语句,我认为您可以将实际执行语句的方法与生成 SQL 的方法分开,这样您就可以验证生成的 SQL 而无需连接到数据库.
如果您确实需要针对数据库引擎验证您的测试,您可以尝试为具有有效数据库连接的集成测试配置Profile,并将此连接绑定到您的 DAO bean。您甚至可以通过脚本使用一些测试数据填充此数据库。
【讨论】: