Como posso gerar MVC URLs ASP.NET dentro de um projeto de teste de unidade?
-
20-08-2019 - |
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.
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