首页 新闻 会员 周边

关与对数据访问层的单元测试

0
悬赏园豆:15 [已解决问题] 解决于 2008-09-02 23:14

大家好!

我有个问题,就是如何对数据访问的代码进行单元测试。

如果用MOCK对象要怎么做,如果我要测试取50条数据,那MOCK怎么做?工作量应该也很大啊?

而且,如果我的代码事实上会出现SQLException(可能是我SQL错误,或违反数据库完整性约束),那MOCK不是测试不出来?

而如果用直接操作数据库的办法,那性能呢?垃圾数据呢?是否是在开始时初始话数据,测试结束时再在[TearDown](NUnit)中把这个测试改变的数据还原?

 

请指点!要是有相关文章可以看的话,也可以直接贴上地址哈。谢谢大家!

水言木的主页 水言木 | 小虾三级 | 园豆:586
提问于:2008-09-02 13:19
< >
分享
最佳答案
0
呵呵,我觉得测sql语句是否正确或者DLINQ配置是否正确之类的也很重要的,有时发现数据层的错误要比业务层还多 不过MOCK是不大可能了,MOCK出一个有同步能力的数据库是会死人的 我的做法是数据库里放数据,每个测试都用using (TransactionScope...)包起来,打开MSDTC,测试完就回滚,能保证数据不变 单元测试不管性能,性能方面由压力测试负责
Gray Zhang | 专家六级 |园豆:17610 | 2008-09-02 13:31
其他回答(3)
0
泼点冷水,对数据访问层做单元测试意义不大,你不可能想测试出数据库软件有什么错误,有点意义的只是看你拼接的sql语句是否正确。
玉开 | 园豆:8822 (大侠五级) | 2008-09-02 13:25
0
我一年前在code project上看到过有用Transaction做的一个测试框架,专门测试数据库类
helloworld22 | 园豆:160 (初学一级) | 2008-09-02 14:28
0
一般测数据库用MBUnit的吧?
lexus | 园豆:0 (初学一级) | 2008-09-02 14:56
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册