【发布时间】:2009-03-23 17:43:29
【问题描述】:
我的一个控制器动作,一个在 Ajax 请求中被调用的动作,正在向客户端返回一个 URL,以便它可以进行重定向。我正在使用Url.RouteUrl(..),但在我的单元测试期间,由于Controller.Url 参数未预先填充,因此失败。
我尝试了很多东西,其中包括尝试存根 UrlHelper(失败),手动创建一个带有 RequestContext 的 UrlHelper,它有一个存根 HttpContextBase(在 RouteCollection.GetUrlWithApplicationPath 调用中失败) )。
我在 Google 上进行了搜索,但几乎没有找到关于该主题的任何内容。我在控制器操作中使用Url.RouteUrl 做了一些非常愚蠢的事情吗?有没有更简单的方法?
更糟糕的是,我希望能够在我的单元测试中测试返回的 URL - 实际上我只是想知道它正在重定向到正确的路由,但是因为我正在返回一个 URL而不是路由,我想控制解析的 URL(例如,通过使用存根 RouteCollection) - 但我很乐意让我的测试开始通过。
【问题讨论】:
标签: asp.net-mvc unit-testing urlhelper