我试图通过避免使用HttpContext.Current和使用每个Controller上提供的更容易模拟的HttpContextBase实例来维护我的asp.net mvc5应用程序的单元测试能力。
问题是我需要来访问控制器外部的HttpContextBase,而不确定这里的最佳做法。有什么建议吗?
我需要这个的原因是我希望在HttpContext.Items集合中缓存当前用户的TimeZone,以便在自定义automapper函数的config类中使用控制器外部,该函数将我的域模型转换为视图模式。
答案 0 :(得分:0)
我使用由Daniel Cazzulino创建的Moq - 你可以在nuget上找到它。
然后,您可以在单元测试中轻松模拟httpContext - 无需在MVC项目中跳过箍,从而允许您愉快地使用HttpContext.Current。