HowtoStubHttpControllerContext酒吧=字符串。空的;if(context!=null){pub=context.Request.RequestUri.Segments[2].TrimEnd('/');}返回酒吧;为了对此进行单元测试,我需要一个HttpControllerContext对象。我应该怎么办?我最初尝试用MicrosoftFakes存根它,但HttpControllerContext似乎没有接口(为什么??),所以这似乎不是一个选项。我应该只创建一个新的HttpControllerContext对象并可能存根它的构造函数参数吗?或者使用Moq框架(而不是!),您可以简单地实例化HttpControllerContext并为其分配上下文对象,以及路由信息(您可以模拟所有这些信息):varcontroller=newTestController();varconfig=newHttpConfiguration();varrequest=newHttpRequestMessage(HttpMethod.Get,"http://localhost/api/test");varroute=config.Routes.MapHttpRoute("default","api/{controller}/{id}");varrouteData=newHttpRouteData(route,newHttpRouteValueDictionary{{"controller","test"}});controller.ControllerContext=newHttpControllerContext(config,routeData,request);controller.Request=请求;控制器.Request.Properties[HttpPropertyKeys。HttpConfigurationKey]=配置;//调用你的方法来测试MethodToTest(controller);HttpControllerContext只是一个容器,因此您不必自己模拟它。以上就是C#学习教程:Howtostub分享的HttpControllerContext的全部内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
