【发布时间】:2012-01-10 18:43:17
【问题描述】:
我正在编写 RSpec 集成测试,因为我将意大利面条代码转换为使用 accepts_nested_attributes_for。我有一个像这样的sn-p:
# file: spec/requests/wizard_spec.rb
describe 'POST /wizard with address' do
before(:each) do
@premise_attributes = {
"address"=>"600 Mellow Ave, Mellow Park, CA 94025, USA",
}
end
it 'should succeed' do
post :create, "wizard" => { "premise_attributes" => @premise_attributes }
response.status.should be(200)
end
end
当然,这会失败:
Failure/Error: post :create, "wizard" => { "premise_attributes" => @premise_attributes }
ArgumentError:
bad argument(expected URI object or URI string)
有没有一种方法可以将嵌套的属性哈希转换为 POST-able 格式?
(相关但不太重要:post 方法在哪里记录或定义?我想看看它真正接受什么作为参数。)
【问题讨论】:
标签: ruby-on-rails post rspec integration-testing nested-attributes