我正在寻找尽可能全面的模拟替换和我的应用程序中的ASP.NET HttpContext
的包装器。全面的模拟替换可能会大大提高ASP.NET Web应用程序的可测试性,而无需将每个应用程序迁移到更易测试的框架(如MVC)。
我最感兴趣的是在HttpContext
包装器和模拟框架中看到的一些功能包括:
.Session
)。.Application
)。.Items
)。Server.MapPath
).User
)。AllErrors
和HttpModule
中的错误解决方案的Global.asax
集合。我考虑过编写自己的界面,包装器和模拟;但是,我相信这一点必须已经存在。各种模拟框架对于第一次吸收来说有点压倒性。
您推荐的最全面的HttpContext
包装器和模拟器是什么?
答案 0 :(得分:2)
我的公司只为所有http objcets(IHttpRequest,IHttpResponse等)创建接口。
它有点重复,但基本上需要界面上的所有方法和属性 然后为每个创建一个具体类型,它将实际类型作为构造函数参数,并将所有方法和属性传递给真实对象。
然后你可以使用RhinoMocks或其他任何东西轻松测试一切..
答案 1 :(得分:1)
查看moq框架。这是MVC团队使用的模拟框架,许多人(包括我自己)认为它具有最低的进入门槛。还可以查看MvcContrib项目中的模拟助手。