Как я могу сгенерировать ASP.NET URL-адреса MVC внутри проекта модульного тестирования?

StackOverflow https://stackoverflow.com/questions/1052960

Вопрос

Как я могу сгенерировать 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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top