Pergunta

Como posso gerar os URLs correspondentes ao controlador, ação e parâmetros (para um determinado projeto ASP.NET MVC) em outro projeto (uma biblioteca de classes usadas para testar)?

Tudo que eu encontrei até agora é HtmlHelper.GenerateRouteLink , mas não encontrou ainda como passar a coleção contexto de solicitação e rota correta.

Foi útil?

Solução

Tente isto:

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 = ... });

A partir - ASP.NET MVC : Unidade testando controladores que usam UrlHelper

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top