模拟依赖于另一个服务层的Web服务

时间:2013-08-28 09:34:37

标签: c# unit-testing

试图寻找一个解决方案,但也许我无法形成我的问题以获得有用的结果。

我想知道是否存在模拟(web)服务的技术,这些服务依赖于我自己不了解或无法控制的逻辑黑盒子。

以支付网关为例。我如何模拟付款以进行测试,以便模拟银行级别上的付款失败,该付款高于网关级别(我正在拨打的服务)? 例如,卡被拒绝或其他卡相关故障。

2 个答案:

答案 0 :(得分:0)

我建议您在代码中创建一个facade来处理外部服务。你可以嘲笑那个门面。

您的外观将是一个薄层,仅公开您感兴趣的外部服务中的方法,并在外部服务类型和内部模型之间执行任何必要的映射。

答案 1 :(得分:0)

您应该使用 IOC

在您的代码中使用服务的接口,并使用 MEF 或其他框架获取“服务”的实例。在配置中,您将能够选择您想要的巫婆实现:真实或您的模拟(实现此接口)。