【问题标题】:Unit Testing a WCF Behavior Extension对 WCF 行为扩展进行单元测试
【发布时间】:2012-05-03 13:12:56
【问题描述】:

这快把我逼疯了。我有一个扩展,如果出现错误,我们可以使用它来更改请求的内容响应。基本上,如果一切正常,它会像往常一样序列化为 JSON,但如果我们遇到未处理的异常,我们会根据不同的对象进行序列化。

我们需要围绕这个进行单元测试,但我不知道如何编写它们。验证它是否有效的方法围绕着 StatusCode、错误消息实例和响应的 ContentType。

为了修改返回的响应,我使用了 WebOperationContext 静态类。我已经看到了嘲笑这个的例子,但似乎我必须硬编码特殊的逻辑,然后开始渗透到实际的代码中,这是我不想要的。

对 WCF 行为扩展进行单元测试的最佳方法有哪些?

【问题讨论】:

    标签: c# json wcf unit-testing wcf-behaviour


    【解决方案1】:

    我有类似的情况,无法模拟 WCF(至少使用 Moq),主要是因为大多数类要么是密封的,要么有内部构造函数。

    我所做的是让我的行为只应用一个IParameterInspector 和一个IClientMessageInspector(在我的情况下我需要两者)并将我所有的逻辑放在AfterCallBeforeCall 中,或者你的任何一个需要,取决于检查员类型。

    这样我就可以测试我关心的所有逻辑。 实际的 WCF 行为仍未经过测试,但它真正所做的只是添加了两个检查器,仅此而已。

    【讨论】:

      猜你喜欢
      • 2019-02-04
      • 2011-02-07
      • 1970-01-01
      • 1970-01-01
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2020-07-12
      相关资源
      最近更新 更多