Come posso generare URL MVC ASP.NET all'interno di un progetto di unit test?
-
20-08-2019 - |
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.
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