Один из моих действий с контроллерами, вызываемый в запросе Ajax, возвращает URL-адрес на стороне клиента, чтобы он мог перенаправлять. Я использую Url.RouteUrl(..), и во время моих модульных тестов это терпит неудачу, поскольку параметр Controller.Url не предварительно заполнен.
Я пробовал много вещей, среди прочего, пытаясь заглушить UrlHelper (который не удался), вручную создав UrlHelper с RequestContext, который имеет окутанный HttpContextBase (который потерпел неудачу при вызове RouteCollection.GetUrlWithApplicationPath).
Я искал Google, но практически ничего не нашел по этому вопросу. Я делаю что-то невероятно глупо, используя Url.RouteUrl в моем действии Controller? Есть ли более простой способ?
Чтобы сделать это еще хуже, я бы хотел проверить тестовый URL-адрес в моем unit test - на самом деле мне просто интересно узнать, что он перенаправляется на правильный маршрут, но поскольку я возвращаю URL вместо маршрута, я хотел бы контролировать URL-адрес, который разрешен (например, с помощью окутанного RouteCollection), но я с удовольствием пройду свою тестовую передачу.