WSDL生成和可测试性接口

时间:2010-10-20 21:28:29

标签: .net unit-testing wsdl

我想在我的应用程序中使用Web服务。为了能够测试应用程序的其他部分我已经构建了一个允许我使用模拟和存根进行测试的接口。

我可以将接口添加到Web服务生成的代码中,但是如果在任何时候重新生成代码,我会在生成的代码上松开接口。

在这种情况下,我可以使用哪些策略或模式来最小化重新启动Web服务引用时的中断。

1 个答案:

答案 0 :(得分:1)

围绕生成的代理代码构建一个包装器,这就是代码所在的位置。不要改变生成的代理,因为你应该认为它是“可消耗的”。 我来自德尔福的背景,但我希望这也适用于此。

更新:包装器应控制底层SOAP对象的生命周期(声明并创建代理类的实例),并向应用程序公开有用的属性和方法,以便对WSDL进行任何更改(和因此代理)不会影响应用程序的其余部分(很多)。即这是一个抽象层,隐藏了血腥的细节。在我的,我也处理序列化问题(SOAP XML并不总是我的代理认为应该来的,可能是因为我们使用旧版本的Delphi),注入安全证书,管理端点和日志数据输入/输出。该应用程序的其余部分是幸福未知,而是调用以下功能:

SendWidgets('select id from WidgetTable where status = NEW');
GetWidgets(path_to_WidgetTable);
ShowWidgetLog(Today-1);