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.

¿Fue útil?

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
scroll top