_webrequestWrapper
WebRequest
只是_webRequestWrapper.GetResponse().GetResponseStream()
类的包装器。
所以,我的问题是如何模仿GetResponse()
?问题是模拟WebRequest
没有问题,因为我们为HandleRequest()
创建了包装器,但问题出在GetReponseStream上,因为它返回一个Stream对象,我如何测试{{1} }} 方法?
我真的没有任何想法。请帮我。
感谢
答案 0 :(得分:1)
我认为在HandleRequest(WebhookModel model)
中没有任何值得测试的内容。
您的代码唯一要做的就是model.Verification = reader.ReadToEnd();
,因此您将测试是否可以在对象上设置属性。我很确定在大多数情况下它会起作用。
您可能使用try / catch块处理与WebRequest
和相关I / O类相关的任何问题。
单元测试适用于业务逻辑或有关输入和输出的一般假设,并且应该相当容易创建和维护。如果您发现自己花费了大量时间来模拟I / O类,那么请考虑是否可以将可测试的工作单元划分为单独的(最好是静态的)方法。你会让你的生活和同事的生活更轻松。