我的一个控制器动作,在 Ajax 请求中被调用,它返回一个 URL 给客户端以便进行重定向。我正在使用
我尝试了很多东西,包括尝试存根
我已经在谷歌上搜过了,但几乎找不到相关的内容。我在 Controller 动作中使用
更糟糕的是,我想在我的单元测试中测试返回的 URL - 实际上,我只关心它是否重定向到正确的路由,但由于我返回的是 URL 而不是路由,所以我想控制解析的 URL(例如,通过使用一个存根
Url.RouteUrl(..)
,但在我的单元测试中,这会失败,因为 Controller.Url
参数没有被预填充。我尝试了很多东西,包括尝试存根
UrlHelper
(失败了),手动创建具有存根 HttpContextBase
的 RequestContext
的 UrlHelper
(在调用 RouteCollection.GetUrlWithApplicationPath
时失败)。我已经在谷歌上搜过了,但几乎找不到相关的内容。我在 Controller 动作中使用
Url.RouteUrl
做了某些极其愚蠢的事情吗?有更简单的方法吗?更糟糕的是,我想在我的单元测试中测试返回的 URL - 实际上,我只关心它是否重定向到正确的路由,但由于我返回的是 URL 而不是路由,所以我想控制解析的 URL(例如,通过使用一个存根
RouteCollection
) - 但我会很高兴先让我的测试通过。
ApplyAppPathModifier
部分是 UrlHelper 中非常关键的部分。 - Chris SMvcApplication.RegisterRoutes(routes);
? - Jeson Martajaya