Rspec:控制器示例行为不当

Rspec: controller example misbehaving

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

为什么会这样:

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.

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

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

谢谢Rspec!