我的控制器操作之一,即在 Ajax 请求中调用的操作,正在向客户端返回一个 URL,以便它可以进行重定向。我正在使用Url.RouteUrl(..)
并且在我的单元测试期间由于Controller.Url
参数未预填充而失败。
我尝试了很多东西,其中包括尝试存根UrlHelper
(失败),手动创建一个UrlHelper
带有RequestContext
存根的 a (调用失败)HttpContextBase
。RouteCollection.GetUrlWithApplicationPath
我搜索了谷歌,但几乎没有找到关于这个主题的任何内容。我Url.RouteUrl
在控制器动作中使用了一些非常愚蠢的东西吗?有没有更简单的方法?
更糟糕的是,我希望能够在我的单元测试中测试返回的 URL - 实际上我只对知道它重定向到正确的路由感兴趣,但是因为我返回的是 URL 而不是路线,我想控制已解析的 URL(例如,通过使用 stubbed RouteCollection
) - 但我很乐意让我的测试开始通过。