我有各种相互通信的 Web 服务,有时会进行数据库调用,有些会与消息队列通信,但我希望能够在不实际调用数据库的情况下测试彼此交互的服务。
有没有一种方法可以让我执行集成测试,而无需实际触及系统的外围,即数据库和消息队列。
我们的 Web 服务和数据库在编写时没有考虑 DI 或可测试性,因此在服务中创建虚假实现并不是一个真正的选择。我已经看到了 Microsoft Mocks 库,它创建了伪造的程序集版本,看起来很有希望。
有没有办法使用微软的假货来实现这一点?我们能否以某种方式让服务调用虚假的 SqlConnection 并模拟数据库调用?