gpt4 book ai didi

c# - 对 WCF 行为扩展进行单元测试

转载 作者:行者123 更新时间:2023-11-30 13:04:07 24 4
gpt4 key购买 nike

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

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

为了修改返回的响应,我使用了 WebOperationContext 静态类。我已经看到了对此进行模拟的示例,但似乎我必须对特殊逻辑进行硬编码,然后才能开始渗透到实际代码中,这是我不想要的。

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

最佳答案

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

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

这样我就可以测试我关心的所有逻辑。实际的 WCF 行为尚未经过测试,但它真正所做的只是添加了两个检查器,没有其他任何内容。

关于c# - 对 WCF 行为扩展进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10432147/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com