首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何对WCF服务器/客户机进行单元测试?

如何对WCF服务器/客户机进行单元测试?
EN

Stack Overflow用户
提问于 2009-11-25 10:01:08
回答 2查看 1.2K关注 0票数 3

我有一个WCF服务器,它是一个库程序集。(我正在编写它,以便模拟它下面的级别)它被称为var,一个位于不同程序集中的客户端助手类。由于传输的数据非常复杂,服务器必须向客户端发送回调,所以我希望隔离地测试WCF代码。

(我只对TCP通道或NamePipe通道感兴趣)

我不想嘲笑WCF,因为我试图控制的风险是WCF.的使用。

它有一个简单的方法

  • 将我的WCF服务器加载到另一个应用程序域中 (我可以将WCF服务器加载到主应用程序域中,但这样就很难证明对象的序列化是正确的,而不仅仅是指针的移动。)
  • 设置所有WCF配置,以便客户端类可以调用它(很可能是命名管道或TCP)
  • 并将其用于非单元测试。
  • 我不想让我的单元测试依赖于配置文件。

我期望(希望)有一些用于设置WCF单元测试的util类,我可以将服务器类的类型传递给它,并将返回一个连接到服务器的客户端工厂。

我是不是走错了路,例如有更好的方法来测试我的通信层和WCF的使用?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-11-25 10:17:37

到目前为止,如果您在-proc中拆分服务,这是最简单的方法,因为您不需要编写大量复杂的同步代码来确定服务何时运行,何时不运行。

不要担心指针被传递-它们不会(除非您选择WCF 4中的新的in绑定)。是绑定决定了如何序列化对象以及是否序列化对象。命名管道在这方面是很好的。

我总是在每个测试用例中在一个ServiceHost语句中设置一个新的using,它有效地保证了主机在对其进行调用之前运行,并且在每个测试之后正确地关闭了它。最后一部分很重要,因为它确保了测试的独立性。

你可能还想看看我写过的关于一个非常相似的主题的一系列博客文章

票数 2
EN

Stack Overflow用户

发布于 2009-11-25 10:07:03

您可以使用测试WCF。看看http://xyrow.com,不需要安装。这不是单元测试,但它可能非常有用(您可以让它在您的构建上运行,因为它也支持命令行)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1795868

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档