Junit良好的做法

时间:2011-10-12 06:32:00

标签: java junit

我有一个从数据库中检索少量信息的代码。 例如,如果您传递人员ID,方法将返回您的人员详细信息,如:
姓名: XXX X XXX
地址: XXXXXXXXXXXXX XXXXX
电话: XXXXXX

在Junit中测试此类代码的好习惯是什么? Junit有DB连接是不错的做法?

这是一个好习惯,JUnit将连接到DB并检索同一个人ID的信息并进行断言。

感谢。

2 个答案:

答案 0 :(得分:2)

要测试真正需要使用数据库的代码,您应该查看dbunit。虽然尽可能少的代码应该知道数据库 - 允许你在测试其他组件时伪造“获取或更新数据”部分。

我强烈建议混合使用数据库测试 - 大量的单元测试会触及内存数据库(例如HSQLDB)和“足够”的集成测试,这些测试会与实际的数据库进行对话用于生产。您可能希望确保所有您的测试实际上可以针对两种环境运行 - 通常是针对HSQLDB开发的,但是然后针对类似生产的数据库运行(通常设置/拆除速度较慢) )在办理登机手续之前和持续建设中。

答案 1 :(得分:1)

听起来你正在谈论像数据访问对象这样的东西。我想说用真正的数据库测试那种东西是必不可少的。查看H2以获得一个快速的内存数据库,该数据库非常适合测试。创建填充的对象,使用持久性代码将其保存到数据库,然后将其加载回来。然后确保您获得的对象与您首先保存的对象具有相同的状态。

如果您在其他地方使用Spring,请考虑使用Spring测试框架获取帮助managing transactions in persistence tests和一般测试支持。