尝试在 rspec 中传递嵌套参数时出现 ArgumentError
ArgumentError when trying to pass nested parameters in rspec
当我尝试执行以下行时
post :create, user: Fabricate.attributes_for(:user)
我收到此错误消息 ArgumentError: unknown keyword: user
。
这是我最初尝试 运行:
的代码
describe 'POST create' do
context 'with valid input' do
it 'creates the user' do
post :create, user: Fabricate.attributes_for(:user)
expect(User.count).to eq(1)
end
end
end
其中一个 changes in Rails 5 是测试请求方法只接受关键字参数,而不是将任意哈希选项作为参数传递,这是 Rails 4.
中的行为
post :create, params: { user: Fabricate.attributes_for(:user) }
当我尝试执行以下行时
post :create, user: Fabricate.attributes_for(:user)
我收到此错误消息 ArgumentError: unknown keyword: user
。
这是我最初尝试 运行:
describe 'POST create' do
context 'with valid input' do
it 'creates the user' do
post :create, user: Fabricate.attributes_for(:user)
expect(User.count).to eq(1)
end
end
end
其中一个 changes in Rails 5 是测试请求方法只接受关键字参数,而不是将任意哈希选项作为参数传递,这是 Rails 4.
中的行为post :create, params: { user: Fabricate.attributes_for(:user) }