asp.net-mvc - 对 POST 的 MVC 路由进行单元测试

标签 asp.net-mvc unit-testing routes mvccontrib

我注册了 2 条路线,如下:

routes.MapRoute("GetAnEmail", "{controller}", new { controller = "Home", action = "GetAnEmail" }, new { httpMethod = new HttpMethodConstraint("POST") })
routes.MapRoute("Home", "{controller}/{action}", new { controller = "Home", action = "Index" })

我对家庭 Controller 进行了有效的单元测试,如下所示:

 [Test]
 public void CanVerifyRouteMaps()
     {
         "~/".Route().ShouldMapTo<HomeController>(x => x.Index());
     }

我知道 GetAnEmail 可以工作,但是一个单元如何测试 POSTed 路由?

最佳答案

Gratzy 的答案很接近,但向我展示的只是如何通过代码进行 POST。

我认为Stephen Walther's blog post中暗示了解决方案。我真的在这里测试我的路线约束,这是关键。 Stephen 在他的示例中创建了一个假的 httpContext。我将尝试使用 Rhino Mocks 进行此操作,一旦我有了一个有效的示例,我就会回复。如果有人已经使用 Rhino Mock 或 Moq 完成了此操作,请也发帖。

关于asp.net-mvc - 对 POST 的 MVC 路由进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/994346/

相关文章:

asp.net - 使用 MongoDB 和 ASP.NET MVC 进行分页的高效方式

javascript - 如何在脚本文件中使用 Razor View 中的模型?

jquery - 部分 View - 客户端验证不适用于 jquery ajax post

java - 如何在 java 中 stub 单个方法以进行单元测试?

java - Android jUnit 测试错误

ember.js - emberJS 嵌套路由 TypeError : cannot read property 'renderer' of undefined

java - 玩!框架表单重定向不起作用

.net - 如何捕获MVC View 的异常?

php - codeigniter 后端和前端的路由配置

python - 如何在目录中运行所有 Python 单元测试?