Как я могу сгенерировать ASP.NET URL-адреса MVC внутри проекта модульного тестирования?
-
20-08-2019 - |
Вопрос
Как я могу сгенерировать URL-адреса, соответствующие контроллеру, действию и параметрам (для данного ASP.NET Проекта MVC) в другом проекте (библиотеке классов, используемой для тестирования)?
Все, что я нашел до сих пор, это HtmlHelper.Создайте исходящую ссылку, но пока не нашел, как передать правильный контекст запроса и коллекцию маршрутов.
Решение
Попробуй это:
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 = ... });
От ИТАК - ASP.NET MVC:Контроллеры модульного тестирования, использующие UrlHelper
Не связан с StackOverflow