我的一个控制器操作(在Ajax请求中被调用的操作)正在将URL返回给客户端,以便它可以进行重定向。我正在使用,Url.RouteUrl(..)
并且在我的单元测试期间由于Controller.Url
参数未预先填写而失败。
我尝试了很多尝试,其中包括尝试存根UrlHelper
(失败),手动创建UrlHelper
带有RequestContext
存根HttpContextBase
(在RouteCollection.GetUrlWithApplicationPath
通话中失败)的。
我已经搜索过Google,但实际上没有找到任何相关信息。我在执行Url.RouteUrl
Controller动作时是否正在做一些非常愚蠢的事情?有更容易的方法吗?
更糟糕的是,我希望能够在单元测试中测试返回的URL-实际上,我只想知道它已重定向到正确的路由,但是由于我返回的是URL,而不是路由,我想控制解析的URL(例如通过使用stubbed RouteCollection
)-但我很乐意让我的测试通过。