Asp.net mvc 如何在单元测试项目中生成ASP.NET MVC URL?

Asp.net mvc 如何在单元测试项目中生成ASP.NET MVC URL?,asp.net-mvc,moq,asp.net-mvc-routing,xunit.net,Asp.net Mvc,Moq,Asp.net Mvc Routing,Xunit.net,如何在另一个项目(用于测试的类库)中生成与控制器、操作和参数(对于给定的ASP.NET MVC项目)对应的URL 到目前为止,我只找到了htmlhelp.GenerateRouteLink,但还没有找到如何传递正确的请求上下文和路由集合。尝试以下方法: var routes = new RouteCollection(); MvcApplication.RegisterRoutes(routes); var context = new Mock<HttpContextBase>()

如何在另一个项目(用于测试的类库)中生成与控制器、操作和参数(对于给定的ASP.NET MVC项目)对应的URL

到目前为止,我只找到了htmlhelp.GenerateRouteLink,但还没有找到如何传递正确的请求上下文和路由集合。

尝试以下方法:

var routes = new RouteCollection();
MvcApplication.RegisterRoutes(routes);

var context = new Mock<HttpContextBase>();

var urlHelper = new UrlHelper(new RequestContext(context.Object, new RouteData()), routes);

var url = urlHelper.Action("action", "controller", new { id = ... });
var routes=newrouteCollection();
MVCAPApplication.RegisterRoutes(路由);
var context=newmock();
var urlHelper=new urlHelper(new RequestContext(context.Object,new RouteData()),routes);
var url=urlHelper.Action(“Action”,“controller”,新的{id=…});

尝试以下操作:

var routes = new RouteCollection();
MvcApplication.RegisterRoutes(routes);

var context = new Mock<HttpContextBase>();

var urlHelper = new UrlHelper(new RequestContext(context.Object, new RouteData()), routes);

var url = urlHelper.Action("action", "controller", new { id = ... });
var routes=newrouteCollection();
MVCAPApplication.RegisterRoutes(路由);
var context=newmock();
var urlHelper=new urlHelper(new RequestContext(context.Object,new RouteData()),routes);
var url=urlHelper.Action(“Action”,“controller”,新的{id=…});