首页 新闻 赞助 找找看

用测试驱动开发数据库系统

0
悬赏园豆:10 [已关闭问题]

  用测试驱动的方法去写程序,要求先写测试用例,再实现程序。在编写测试用例的时候,要求测试用例对周围的环境的依赖性尽量少,也就是说,在开发数据库系统时,不能依赖数据库中已经存在的数据。那么,我的问题是:如果开发一个ERP系统,会有很大一部分是围绕订单来处理的,如果用TDD开发订单处理的某个部分,需要前面几个步骤先完成,会用的前面几个步骤所得到的很多数据,分别存在数据库中10多张表中,那么,你在开发其中一个小功能的时候,编写的测试用例需要初始化这10多张表,然后测试自己要完成的模块。这样的话,有写模块会差不多要初始化整个数据库才能测试。

  测试驱动作为敏捷开发的一部分,如果这样的话,开发就不敏捷了,不知碰到这种情况的时候,应该怎么处理,期待解答。

    谢谢

冬虫草的主页 冬虫草 | 初学一级 | 园豆:160
提问于:2008-12-09 17:14
< >
分享
其他回答(2)
0

一般不对数据层做测试,测试针对的是逻辑的正确性,因此对业务层进行测试,而业务层依赖的数据层则做MOCK即模拟,将所有步骤的结果准备好供业务层获取,作为业务的输入,最后确保业务的输出是正确的即可

Gray Zhang | 园豆:17610 (专家六级) | 2008-12-09 18:13
0

Mock

Astar | 园豆:40805 (高人七级) | 2008-12-09 20:39
0

@Gray Zhange

我也有这问题,如果不对数据层做测试,那如果数据层提取数据的代码有错呢?比如某个DAL中的方法期望能取回10条记录,事实上确因为sql错误一条都没取回来,这要怎么解决呢?

水言木 | 园豆:586 (小虾三级) | 2008-12-09 21:19
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册