我有各种互相交流的Web服务,有时会进行数据库调用,有些会与消息队列进行通信,但我希望能够测试彼此交互的服务,而无需实际调用数据库
有没有办法可以在不实际触及系统外端的情况下执行集成测试,即数据库和消息队列。
我们的Web服务和数据库不是用DI或可测试性编写的,因此在服务中创建虚假实现并不是一种选择。我见过Microsoft Mocks库,它创建了一个伪装版本的程序集,看起来很有希望。
有没有办法使用微软假货实现这一目标?我们可以以某种方式获取服务来调用假的SqlConnection并模拟数据库调用吗?
答案 0 :(得分:0)
如果您无法使用依赖注入,则可以尝试模拟数据库层的certian组件
我建议看看存储库模式
http://www.codeproject.com/Articles/526874/Repositorypluspattern-2cplusdoneplusright
尝试分离并抽象所有数据库模型,所以在使用像RhinoMocks这样的模拟框架模拟所有这些类之后