用单元测试覆盖WebRequest c#

时间:2018-04-27 18:55:47

标签: c# .net unit-testing design-patterns

_webrequestWrapper

WebRequest只是_webRequestWrapper.GetResponse().GetResponseStream()类的包装器。 所以,我的问题是如何模仿GetResponse()?问题是模拟WebRequest没有问题,因为我们为HandleRequest()创建了包装器,但问题出在GetReponseStream上,因为它返回一个Stream对象,我如何测试{{1} }} 方法? 我真的没有任何想法。请帮我。 感谢

1 个答案:

答案 0 :(得分:1)

我认为在HandleRequest(WebhookModel model)中没有任何值得测试的内容。

您的代码唯一要做的就是model.Verification = reader.ReadToEnd();,因此您将测试是否可以在对象上设置属性。我很确定在大多数情况下它会起作用。

您可能使用try / catch块处理与WebRequest和相关I / O类相关的任何问题。

单元测试适用于业务逻辑或有关输入和输出的一般假设,并且应该相当容易创建和维护。如果您发现自己花费了大量时间来模拟I / O类,那么请考虑是否可以将可测试的工作单元划分为单独的(最好是静态的)方法。你会让你的生活和同事的生活更轻松。