我的一个控制器操作,也就是在Ajax请求中调用的操作,向客户端返回一个URL,以便它可以执行重定向。我使用的是Url.RouteUrl(..)
,在我的单元测试期间,由于Controller.Url
参数没有预先填充,所以失败了。
我尝试了很多方法,其中包括尝试存根UrlHelper
(失败),手动创建一个带有存根RequestContext
的UrlHelper
,该RequestContext
有一个存根HttpContextBase
( RouteCollection.GetUrlWithApplicationPath
调用失败)。
我在谷歌上搜索了一下,但在这个问题上几乎什么也没找到。在我的控制器操作中使用Url.RouteUrl
是不是在做一些非常愚蠢的事情?有没有更简单的方法?
更糟糕的是,我希望能够在我的单元测试中测试返回的URL -事实上,我只对它是否重定向到正确的路由感兴趣,但由于我返回的是URL而不是路由,所以我希望控制解析的URL (例如。通过使用存根RouteCollection
) -但我很高兴我的测试一开始就通过了。
https://stackoverflow.com/questions/674458
复制相似问题