¿Cómo puedo generar URL MVC ASP.NET dentro de un proyecto de prueba unitaria?
-
20-08-2019 - |
Pregunta
¿Cómo puedo generar las URL correspondientes al controlador, la acción y los parámetros (para un proyecto dado ASP.NET MVC) en otro proyecto (una biblioteca de clase utilizada para las pruebas)?
Todo lo que he encontrado hasta ahora es HtmlHelper.GenerateRouteLink , pero aún no encontré cómo pasar el contexto de solicitud correcto y la colección de rutas.
Solución
Prueba esto:
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 = ... });
De SO - ASP.NET MVC : Controladores de pruebas unitarias que usan UrlHelper
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow