我在我的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,某事:3},{id:4,某事:2}]。我假设我从连接到Sinatra的应用程序获取此数组。
rspec说
Failure/Error: post '/score', @mass_score_data
NoMethodError:
undefined method `read' for #<Array:0x007fd7e507bd80>
我在这里遗漏了什么,或者我们不能将数组传递给Sinatra? BTW我也试过像[1,2,3,4]那样的数组,它仍然是“未定义的方法'读''”
答案 0 :(得分:2)
假设post
类中的Score
正文如下:
post '/add_scores' do
scores = params[:scores]
....
end
然后你应该能够做到:
post 'add_scores', {:scores => @mass_data}
请查看Testing in Sinatra以便进一步阅读。