2010-08-13 117 views
1

我是WCF的新手。我编写了一项服务并在客户端应用程序中使用了该服务现在我想为服务器和客户端编写单元测试。单元测试WCF

我应该慢慢编写WCF的单元测试。

我使用Google搜索并遇到了单元测试WCF的不同方式。但真的不确定哪一个更好。

我正在使用vs2008。

谢谢,

回答

2

你真的在找什么?你想分别测试服务和客户端功能(单元测试)还是客户端与服务集成(集成测试)?单元测试通常用于测试单一功能。你可以写一组简单的单元测试来测试被测单元中的所有执行路径。集成测试用于检查组件之间的配置和集成。您通常不会为系统中的每个执行路径编写集成测试,因为所有层的执行路径的复杂性和数量可能会很大。

要单元测试您只需为您的服务合约实现(服务类)编写单元测试的服务。

要单元测试客户端,您必须设计客户端,以便对属性或构造函数注入对服务的依赖关系(查找控制和依赖注入的反转)。然后,您可以编写测试并注入服务的模拟/伪造=您将测试客户端功能而不使用真正的服务实现。

集成测试可以是简单的测试,调用客户端功能,直接使用您的服务实现。在这种情况下,您将在单个执行路径中测试应用程序的所有层。

最好的问候,拉吉斯拉夫·

+0

拉吉斯拉夫嗨, 做u建议海洋学委员会框架? – Saghar 2010-08-18 12:18:38

+0

我被迫使用Unity。在我的爱好项目中,我使用了Windsor.Castle,但是据我所知,Spring.net和StructureMap也提供了非常好的IoC容器。 – 2010-08-18 12:29:24