Microsoft嘲笑并模拟SqlConnection进行集成测试

时间:2013-02-05 16:09:49

标签: .net web-services testing integration-testing microsoft-fakes

我有各种互相交流的Web服务,有时会进行数据库调用,有些会与消息队列进行通信,但我希望能够测试彼此交互的服务,而无需实际调用数据库

有没有办法可以在不实际触及系统外端的情况下执行集成测试,即数据库和消息队列。

我们的Web服务和数据库不是用DI或可测试性编写的,因此在服务中创建虚假实现并不是一种选择。我见过Microsoft Mocks库,它创建了一个伪装版本的程序集,看起来很有希望。

有没有办法使用微软假货实现这一目标?我们可以以某种方式获取服务来调用假的SqlConnection并模拟数据库调用吗?

1 个答案:

答案 0 :(得分:0)

如果您无法使用依赖注入,则可以尝试模拟数据库层的certian组件

我建议看看存储库模式

http://www.codeproject.com/Articles/526874/Repositorypluspattern-2cplusdoneplusright

尝试分离并抽象所有数据库模型,所以在使用像RhinoMocks这样的模拟框架模拟所有这些类之后