Один з моїх дій контролерів, той, який викликається в запиті Ajax, повертає URL-адресу на сторону клієнта, щоб він міг переадресувати. Я використовую Url.RouteUrl(..)
і під час моїх тестових одиниць це не вдається, оскільки Controller.Url
параметр не є попередньо заповненим.
Я спробував багато чого, серед інших намагався заглушити UrlHelper
(що не вдалося), створивши вручну за UrlHelper
допомогою RequestContext
стержня HttpContextBase
(який не вдався під час RouteCollection.GetUrlWithApplicationPath
дзвінка).
Я шукав Google, але практично нічого не знайшов на цю тему. Чи роблю я щось неймовірно дурне, використовуючи Url.RouteUrl
в моїй дії Controller? Чи є простіший спосіб?
Щоб зробити це ще гірше, я хотів би мати можливість перевірити повернуту URL-адресу в моєму тесті на одиницю - насправді мені цікаво лише знати, що вона перенаправляється на правильний маршрут, але оскільки я повертаю URL-адресу замість Маршрут, я хотів би контролювати розв’язану URL-адресу (наприклад, за допомогою стертих RouteCollection
), але я буду радий розпочати тест.