1

我正在使用WCFMock在我的 Web 服务中模拟 WebOperationContext。唯一的用途是将自定义 HTTP 标头添加到 WebOperationContext.Current.OutgoingResponse.Headers 集合。我无法使用 Moq 验证这一点。我已经尝试过的:

  • 验证是否调用了 Add 方法。这失败了,因为 Add 不是虚拟的
  • 尝试直接从 MockedWebOperationContext.Current 访问标头。这在数量上始终为零

如何在我的单元测试用例中验证是否添加了自定义标头?

4

1 回答 1

4

弄清楚了。这是后代的解决方案。

当我们为 IWebOperationContext 创建“moq mock”时,该示例建议我们设置 property DefaultValue = DefaultValue.Mock。这将模拟所有依赖项,包括 HttpHeaders 集合。我跳过了这个并嘲笑了OutgoingWebResponseContext返回一个WebHeaderCollection. 对于我的测试用例,我只是在这个集合上断言。

于 2012-01-04T06:38:42.203 回答