![]() |
1
7
是的,在菲利普的回答的提示下,我开始了一个,可能已经想出了一个有效的解决方案。使用WSDL.exe文件我生成了接口(使用/si开关) 和
我现在可以创建实现接口的其他类(mock或fake),并替换它们而不是“shim”类。 好吧,我已经在这方面做了进一步的研究,除非有一些复杂的情况,它是有效的。 第一个重要的问题是代理类仍然标记为“internal”,因此派生(适配器/填充)类也必须是内部的。如果您将一个工厂类放入业务项目/程序集中,而这个工厂类是新的代理类,并将它们作为接口返回,那么这就不是问题了。
编辑: 在测试和开发我们的外观时,这对我来说仍然很好。自从在接口后面获得代理之后,我还创建了一个logging decorator类,该类捕获大量示例调用,以便在第三方服务器脱机时使用调试。 我在这里更详细地写了我所做的事情: http://www.flowerchild.org.uk/archive/2010/09/21/mocking-or-faking-or-maybe-stubbing-a-wsdl-exe-soap.html |
![]() |
2
4
编辑
|
![]() |
3
1
我总是发现这些生成的类太大,不容易模拟(太多的方法/属性)。 相反,创建一个Facade或Repository,它只实现您需要的调用,并用您关心的属性将DTO传递回样式对象。 针对真正的Webservice编写一些简单的集成测试,然后在其余测试中模拟更简单的Facade。
|
![]() |
mg610 · 如何开始C++单元测试 2 年前 |
![]() |
vidhu · 无URL的自动化测试 2 年前 |
![]() |
Aessandro · js开关站单元测试[关闭] 6 年前 |
![]() |
AntoineLB · 断言后期工作Django 6 年前 |
|
ravikant · Selenium脚本不工作异常 6 年前 |
![]() |
splintor · 如何在angular中的单元测试中测试文档点击 6 年前 |