Domanda

Come posso generare gli URL corrispondenti al controller, all'azione e ai parametri (per un determinato progetto ASP.NET MVC) in un altro progetto (una libreria di classi utilizzata per i test)?

Tutto quello che ho trovato finora è HtmlHelper.GenerateRouteLink , ma non ho ancora trovato come passare il contesto di richiesta corretto e la raccolta di rotte.

È stato utile?

Soluzione

Prova questo:

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

Da SO - ASP.NET MVC : Controller di unit test che utilizzano UrlHelper

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top