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