Junit 验证执行结果

he6266 2008-06-05 05:36:32
不知道大家做Junit测试时对于数据库的操作都是怎么进行验证的。我说下我们项目里遇到的一些问题。
1、对于查询功能的Dao函数
Dao返回值:返回List,如果查询到数据时,List里面包含多个JavaBean。JavaBean里的属性的格式包含基本类型、数组类型、List型、Map型、其他JavaBean。
正常的验证代码是:
List list = Dao.Search();
assertEquals(1, list.size());
XXXVO vo = list.get(index);
assertEquals("0001", vo.getNo());
assertEquals("Name", vo.getName());
问题:需要验证的JavaBean里的属性太多,太复杂。要写很多assert代码。数据写死在测试代码里了,更换一组测试数据时需要从新写Junit代码。
期望的解决方法:预期的数据通过一种格式保存在XML文件中,根据XML里的数据对返回的List进行验证。
例:assertObject("result_01.xml", list);
注:所有返回的JavaBean都没有实现Equals方法。所以不能整个对象比较。
2、更新和插入动作的Dao函数
正常的验证方式是:执行Dao的方法后,执行一段查询,将Dao插入的数据查询出来然后逐一验证。
问题:需要写的代码太多,不好维护。
期望的解决方法:将期望Dao执行后的数据表状态,预先写到一个XML文件中。Dao执行之后,根据XML文件的内容与数据库中表的内容进行比较。
新的问题:一些表中的字段(主要是主键)是通过数据库中的SEQUENCES对象的值插入的(自动增长字段),在Dao执行之前无法预期其值。因为是多人进行测试,
所以SEQUENCES对象是多人在使用,所以无法预期SEQUENCES的使用状态。

不知道我描述的是否清楚,请高手来帮忙提出一些解决方案。最好是有实现的方案。也可以说说你们做项目时的测试方法。谢谢!
...全文
117 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
a65438 2008-06-27
  • 打赏
  • 举报
回复
这个问题我也遇到过,我现在加了一个群,这个群人气较好,也的确有高手 ,不但可以交流问题,而且还可以接项目赚钱,qq群号是:,不要说 我做广告,看看便知,如需要的话加入试试,如果你发现好的交流群也别忘 了告诉我啊!呵呵!
wang_qing_2008 2008-06-26
  • 打赏
  • 举报
回复
学习
he6266 2008-06-25
  • 打赏
  • 举报
回复
关注
missj 2008-06-16
  • 打赏
  • 举报
回复
关注
he6266 2008-06-06
  • 打赏
  • 举报
回复
DbUnit 只提供了测试前后对数据库的一些操作。验证也只提供对IDataSet和ITable的验证。无法对业务VO的属性进行验证。
bruni 2008-06-06
  • 打赏
  • 举报
回复
check DbUnit

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧