N-Unit使用回调测试WCF

时间:2010-08-24 15:08:44

标签: wcf nunit wcf-client

我正在测试WCF服务。

流程是这样的。

  1. 应用程序(客户端)通过Webservice1向DB插入命令。这是使用双工模式完成的(带回调)。
  2. WebService1将命令插入DB,此Webservice1调用另一个关于新命令到达的webservice2。(双工模式)。
  3. Webservice2然后通过Webservice3读取命令,执行,插入结果并在Webservice1上调用回调方法,告诉命令已执行。
  4. Webservice1然后在Application上调用回调方法并通知结果的到达。
  5. 我如何对这样的服务进行单元测试。

    请发布任何有教程如何测试回调的链接。

    谢谢,

1 个答案:

答案 0 :(得分:2)

您应该单独测试服务以进行单元测试,模拟他们将要调用的服务的响应。通过这种方式,您可以将各个服务作为小型工作单元进行测试,并验证它们是否按预期工作。您还可以专注于每项服务的功能,而无需担心服务如何真实地相互作用。

我认为你所描述的更像是integration test。只有在对上述特定服务执行单独的单元测试后,才应执行该测试。实质上:

  

集成测试的目的是   验证功能,性能和   可靠性要求   主要设计项目。

对于双工服务的单元测试,这里有一篇文档很好的博客文章,描述了如何执行此操作(包含大量代码):http://blogs.msdn.com/b/ploeh/archive/2008/06/28/unit-testing-duplex-wcf-services.aspx

因此,您将创建单元测试,用于测试与列表中的项目#1和#4的交互(app - > ws1和ws1 - > app),然后与项目#2和#3(ws1 - &gt ; ws2和ws2 - > ws1),然后单元测试#3(ws2 - > ws3)的交互。最后一个你可以嘲笑。如果没有更多细节,我就会开始对单元测试进行测试。

我希望这会有所帮助。