【问题标题】:Rspec: controller example misbehavingRspec:控制器示例行为不端
【发布时间】:2020-09-30 16:15:55
【问题描述】:

我正在使用带有 Ruby 2.5.5 的 Rails 6。我正在尝试为控制器方法编写一个示例,在过去的几个小时里有些事情让我感到困惑:

为什么会这样:

post :create, params: { purchases: [{ board_id: 1, squares: [ [3,4] ] }] }, format: :json

传递这些参数:

POST { "purchases": [{"board_id"=>"16", "squares"=>[["3"], ["4"]] }] }

注意 [3,4] 是如何变成 [["3"], ["4"]] 的。它在浏览器中运行良好,只是不适用于 rspec。

【问题讨论】:

  • “它在浏览器中运行良好”在处理控制器规范时非常不相关,因为它们实际上并不发送 HTTP 请求,而只是向控制器实例传递一个存根请求。

标签: ruby-on-rails rspec rspec-rails


【解决方案1】:

根据https://github.com/rspec/rspec-rails/issues/985 修复了它:

post :create, params: { purchases: [{ board_id: 1, squares: [ [3,4] ] }] }, as: :json

谢谢Rspec!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多