Visual studio 2008 VisualStudio单元测试中的HttpRuntime
我可以在单元测试方法中访问Visual studio 2008 VisualStudio单元测试中的HttpRuntime,visual-studio-2008,unit-testing,Visual Studio 2008,Unit Testing,我可以在单元测试方法中访问HttpRuntime。当我每次尝试访问时,它显示HttpRuntime在当前上下文中不存在。在我的目标方法中,我确实希望测试访问缓存变量 HttpRuntime.Cache[key]; 可能吗?还是我在这里遗漏了什么 谢谢您最好重构您的目标方法,使其不直接访问HttpRuntime,而是将该信息作为参数传递,或者让它与包装HttpRuntime的接口通信。这样,您就可以打破对HttpRuntime的依赖,使测试变得更加容易。您可以在单元测试中使用Simpl
HttpRuntime
。当我每次尝试访问时,它显示HttpRuntime在当前上下文中不存在。在我的目标方法中,我确实希望测试访问缓存变量
HttpRuntime.Cache[key];
可能吗?还是我在这里遗漏了什么
谢谢您最好重构您的目标方法,使其不直接访问HttpRuntime,而是将该信息作为参数传递,或者让它与包装HttpRuntime的接口通信。这样,您就可以打破对HttpRuntime的依赖,使测试变得更加容易。您可以在单元测试中使用SimpleWorkerRequest对象创建HttpContext TextWriter writer = new StringWriter(); HttpWorkerRequest httpRequest = new SimpleWorkerRequest("virtualDir", "physicalDir", "page", "", writer); HttpContext.Current = new HttpContext(httpRequest); HttpContext.Current.Cache[key] = some value.. TextWriter writer=新的StringWriter(); HttpWorkerRequest httpRequest=新的SimpleWorkerRequest(“virtualDir”、“physicalDir”、“page”、“writer”); 当前=新的HttpContext(httpRequest); HttpContext.Current.Cache[key]=某个值。。