0

我的 rspec 测试中有这个

it 'that can be mass inserted' do
        score_count = Score.all.length
        post '/score', @mass_score_data
        Score.all.length.should eq score_count+2
end

其中@mass_score_data 是一个哈希数组 [{id: 5, something: 3}, {id: 4, something: 2}]。我假设我从连接到 Sinatra 的应用程序中获取此数组。

rspec 说

 Failure/Error: post '/score', @mass_score_data
 NoMethodError:
   undefined method `read' for #<Array:0x007fd7e507bd80>

我在这里遗漏了什么,还是我们不能将数组传递给 Sinatra?顺便说一句,我也尝试过像 [1, 2, 3, 4] 这样的数组,它仍然是“未定义的方法'read'”

4

1 回答 1

2

假设你postScore课堂上的身体看起来像:

post '/add_scores' do
  scores = params[:scores]
  ....
end

然后你应该能够做到:

post 'add_scores', {:scores => @mass_data}

查看Sinatra 中的测试以进一步阅读。

于 2013-08-28T16:02:14.247 回答