我正在使用Reporting Services Web服务生成报告并允许用户下载它。这是通过PDF,Excel,XML等进行的,并且工作得很好。我正在尝试在我的报告类和实现之间创建一些分离,但我正在努力如何在一个仍然可以测试的庄园中做到这一点。
由于我的自定义Reports对象/类直接调用Web服务,我是否应该使用接口进一步分离它?无论字节源如何,对此以及如何仍然可以进行单元测试的任何建议都将非常感激。
答案 0 :(得分:4)
罗素,我认为你的答案在于学习依赖注入/控制反转。你可以从这里开始......
答案 1 :(得分:1)
如果您是依赖注入/控制反转的新手,这个链接是Carl Franklin和James Kovacs的精彩截屏。
DNR TV Show #126: James Kovacs' roll-your-own IoC container
我是一个学习新事物的傻瓜,听到别人清楚地解释并看着他们编码。 James解释了原则,实现它的代码,以及如何通过使用框架来进一步学习。
答案 2 :(得分:1)
如上所述,依赖注入/控制反转是可行的方法。代码到接口而不是具体类。然后,当您的单元测试运行时,它可以将Web服务实现与返回伪造的固定数据的模拟实现交换。