Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 2008 VisualStudio单元测试中的HttpRuntime_Visual Studio 2008_Unit Testing - Fatal编程技术网

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]=某个值。。