模拟HttpApplication类

时间:2018-05-30 04:18:44

标签: c#

我必须对下面一行代码中断的方法进行单元测试:

m_context.ApplicationInstance.CompleteRequest()

这里,m_contextSystem.Web.HttpContext对象,我已将其初始化为: -

var m_context= new HttpContext(new HttpRequest("", "https://www.google.com", ""), new HttpResponse(new StringWriter()));
httpContext.ApplicationInstance = new HttpApplication();

由于CompleteRequest()类的HttpApplication不是虚拟或抽象方法,有人可以帮我解决这个问题Unittest

1 个答案:

答案 0 :(得分:0)

我之前发现了以下博客,它解释了使用Microsoft Moles的一个很好的方法。 http://maraboustork.co.uk/index.php/2011/03/mocking-httpwebresponse-with-moles/

IMHO通过扩展HttpApplication添加功能并不是最好的选择。由于私有/内部/密封类很难模仿HttpContext,即使你成功了,你的单元测试也会因为模拟代码而变得混乱,以至于你将无法理解你实际测试的是什么