鉴于HttpApplicationHttpContext没有实现接口,如何在asp.net中对HttpModule进行单元测试?

===============>>#1 票数:2

本质上,您需要删除HttpModule对HttpApplication和HttpContext的依赖,并用一个接口替换它们。 您可以创建自己的IHttpApplication和IHttpContext(以及IHttpResonse,IHttpRequest等),也可以使用@Dale Ragan提到的内容,也可以使用与ASP.NET MVC预览捆绑在一起的System.Web.Abstractions中的闪亮内容。

===============>>#2 票数:1

过去,在迁移到ASP.NET MVC之前,我使用了Phil Haack创建的该库用于单元测试, 该库使用了HttpApplication和HttpContext。 反过来,它使用了Duck Typing库

不幸的是,这是最好的方法。 ASP.NET并非易于测试。 当他们研究ASP.NET MVC时,目标之一是通过使框架更具可测试性来摆脱这些麻烦。

===============>>#3 票数:0

您可以使用隔离(模拟)框架。 我知道有两种工具可以使您伪造/模拟任何.NET对象-Typemock隔离器Telerik JustMock,我认为您也可以使用Moles

以上所有内容使您可以伪造任何.NET对象事件,如果该对象未实现接口,甚至没有公共控件。

  ask by Chris Porter translate from so

未解决问题?本站智能推荐: