【问题标题】:Help testing mvc3 controller that accesses querystring帮助测试访问querystring的mvc3控制器
【发布时间】:2011-04-22 09:33:50
【问题描述】:

刚开始学习mvc3。我已经建立了一个相当基本的网站(如果有影响,也使用 EF-Code-First),现在我正在尝试为它构建测试

我的控制器通过 Request["whatever"] 获取查询字符串数据,当我运行测试时它显示请求为空

到目前为止,我看过的所有教程都让我有些不知所措。进入模拟等,他们似乎假设事先了解(从未使用过模拟,所以还不了解它们)

有没有人有一个很好的基础教程来让我进入单元测试?或者可以举个例子

【问题讨论】:

    标签: asp.net-mvc unit-testing asp.net-mvc-3 entity-framework-4


    【解决方案1】:

    直接使用 HttpRequest 是违反 MVC 的设计模式的。您可以将操作中的查询字符串变量作为参数访问。

    【讨论】:

    • 将它们作为动作参数的额外好处(除了更容易的单元测试)是它也是类型安全的(无需解析 id,只需将参数声明为 int)。如果它是一个可选参数并且您正在处理一个值类型,请将其设置为可为空。
    • 感谢各位读者:p 切换到动作参数,效果很好
    • 您忘记了需要遍历整个查询字符串集合的情况,因为您可能事先不知道这些值。 FormCollection 为表单值启用此行为,但查询字符串没有等效项!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-16
    • 1970-01-01
    相关资源
    最近更新 更多