论坛首页 入门技术论坛

如何测试查询结果的正确性?

浏览 4057 次
该帖已经被评为新手帖
作者 正文
   发表时间:2007-04-17  
假设有这么一个表
-----------------------------------
年份  品牌    产量    销量     库存
2005  红塔山  200     100      100
2006  红梅    300     155      145
-----------------------------------
用HibernateTemplate对这个表的产销存进行sum取数操作,如何测试程序取出的数据与真实数据匹配?总不能用结果集与查询语句执行结果集(手动)进行匹配?或是与用jdbc查询结果集进行匹配?第一种方法的缺点是,数据库数据如果发生变化的时,测试肯定无法通过,那么就的重新执行查询语句,然后再次修改程序进行匹配。第二种方法感觉有点繁琐,还得写jdbc查询方法,感觉没啥意义。

希望大家给点意见吧
   发表时间:2007-04-18  
每次测试清空数据库,灌入初始化测试数据。
0 请登录后投票
   发表时间:2007-04-18  
先知道会查出什么。。。。
再造数据。。。。
把数据录入mock或内存数据库
比较看看能否查出假想值?
0 请登录后投票
   发表时间:2007-04-18  
当然是第2种方法
很多种方法出来的结果都一样 这时候才能肯定数据是正确的
总用一个方法查 你怎么知道哪里错了
这个没有意义还哪个有意义
0 请登录后投票
   发表时间:2007-05-13  
首先,多谢大家的回复,我还以为这个问题不会有人来回答呢。
说说我们这个项目的情况吧,我们当前做的项目主要是以查询数据为主,通过对底层数据库的查询进行多种方式展现,比如:用JFreechart进行柱图、趋势图、饼图、表格等展现。当前用的是ssh架构来进行开发的,这就涉及到单元测试的问题。关于dao这块的测试,看来只有采用robbin和抛出异常的爱所提出的方法了。
0 请登录后投票
   发表时间:2007-05-14  
标准的TTD的书上这么写的
而我喜欢内存数据库,
由于多人共用一个库
有时会被pl/sql互锁。。。
0 请登录后投票
   发表时间:2007-05-14  
对于数据的测试,个人倾向于内存数据库,如果你真的需要实际的环境,可以考虑用dbunit进行数据的准备,这样每次测试的数据就比较一致。
0 请登录后投票
论坛首页 入门技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics