我有一组EJB,它通过一组DAO类来保存和检索Sybase数据库中的数据。 DAO类是POJO,它通过JDBC数据源直接执行sql过程(预处理语句)。 在数据库中使用一些有意义的模拟数据,为这些EJB准备集成测试套件的适当框架是什么? spring / junit能提供一些帮助吗? 任何建议都表示赞赏。
答案 0 :(得分:0)
我认为单元测试足够取决于您要验证的内容。
如果您只需要测试EJB,我会使用在内存中工作的DAO的模拟版本(例如,带有HashMap的DAO来保存和检索数据),这样您就可以将测试集中在输入和EJB方法的输出。这样,您还可以以编程方式填充测试数据。
如果您还需要测试DAO生成的Sybase语句,我认为您可以将实际执行语句的方法与生成SQL的方法分开,这样您就可以验证生成的SQL而无需连接到数据库
如果确实需要针对数据库引擎验证测试,可以尝试使用有效的数据库连接为集成测试配置Profile,并将此连接绑定到DAO bean。您甚至可以通过脚本使用一些测试数据填充此数据库。