如何对WCF客户端类进行单元测试?

Eri*_*ric 7 .net c# wcf .net-4.0 visual-studio-2010

我有一个与WCF服务交互的类库,并使用一个app.config文件进行配置.我想对这门课进行单元测试,但是当我进行单元测试时,我得到:

无法在服务模型客户端配置部分中找到引用合同"FooService"的默认端点元素.这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中找不到与此合同匹配的端点元素

根据这个答案,我需要将app.config文件驻留在我的单元测试项目中,这确实解决了这个问题.但我真的不想app.config每次更改时都要将文件复制到单元测试中.

我想我可以添加一个链接app.config,除了我正在使用SlowCheetah来处理app.config转换,所以我app.config是在编译时生成的.

有什么我可以做的让这个工作,或者我只是不得不放弃我app.config并处理代码中的配置?

Ole*_*ksi 5

您可以在测试中模拟WCF服务.在单元测试类时,可以注入不使用WCF服务的服务版本.这样,当测试运行时,他们不需要担心任何配置文件.这也将导致更好的测试.大概你想测试你的代码,而不是WCF服务本身.最好在测试中模拟它的行为,这样你就可以测试你的代码了.