2010-06-08 66 views
2

所以我有一个类引用了一个引用另一个类的Web服务的类。当我尝试单元测试引用Web服务的类时,我在这里做了什么错误

因此,我学习如何使用部分类创建接口。

我通过构造函数注入web服务。

然后我的单元测试失败,因为我正在创建班级第二级的实际Web服务。所以我最终修改所有三个类,通过构造下通过Web服务......却高兴不起来:-(放弃了....

我应该在这种情况下做什么?

+2

1:发布具体代码2.重新设计你的类? – 2010-06-08 15:17:11

+0

我使用了部分类来接口的Web服务...所以我使用的接口...真正的问题在这里不得不通过我的Web服务通过3层的类... – zachary 2010-06-08 19:22:00

+0

我也使用Mocks是为什么我需要使用部分类来创建界面呢... – zachary 2010-06-08 19:22:36

回答

4

你应该使用接口而不是部分类,你的构造函数比期望接口而不是具体的实现在测试中,而不是创建真正的类,使用其中一个模拟框架创建“模拟”,例如我使用Rhino Mocks,您可以在他们的文档页面上找到大量示例: http://ayende.com/wiki/Rhino+Mocks+Documentation.ashx

+1

Bang on。你需要一个模拟框架才能正确地做到这一点。 – 2010-06-08 15:51:33

1

与Web服务交互的层应设计为具有交互面对。这应该被注入(通过ctor/property/method..some其他方式也存在)到其他层。生产代码将使用实际的Web服务实现。测试代码将使用模拟对象。如果您发布一些代码,您将得到更好的答案。

相关问题