c# – 在单元测试中使用httpcontext
发布时间:2020-12-15 18:09:00 所属栏目:百科 来源:网络整理
导读:我使用C#4.0,我需要单元测试一个服务.服务内的函数返回一个类似于我称为预期的变量的路径,这是我希望得到的路径.但是当我运行这个测试我得到HttpContext.Current为NULL的错误.我可以做些什么来解决这个问题,以便测试可以运行? [TestMethod]public void GetP
我使用C#4.0,我需要单元测试一个服务.服务内的函数返回一个类似于我称为预期的变量的路径,这是我希望得到的路径.但是当我运行这个测试我得到HttpContext.Current为NULL的错误.我可以做些什么来解决这个问题,以便测试可以运行?
[TestMethod] public void GetPathTest() { var expected = System.IO.Path.GetFullPath(HttpContext.Current.Server.MapPath("~/Certificates/")); var path = _mockService.Setup(o => o.GetPath()).Returns(expected); } 解决方法
目前我找不到我以前使用的HttpContext的完整包装,但是目前我们只是创建一个空的请求的上下文,从那里开始,就像这样:
SimpleWorkerRequest request = new SimpleWorkerRequest("","",null,new StringWriter()); HttpContext context = new HttpContext(request); 然后在单元测试初始化??或单元测试本身(在创建预期之前),您可以如下设置当前的HttpContext: HttpContext.Current = context; 然后根据需要简单地将伪造的上下文和可能的假的会话状态等. (编辑:这是所有在VS2008,框架3.5的方式). (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
热点阅读