RSpec: 测试控制器中的创建操作方法
RSpec: Test a create action method in controller
我已经为控制器中的创建操作方法编写了 RSpec 测试。现在我变成了以下错误:
error Screen
我的测试:
describe '#create' do
before(:each) {
@address = {
attributes: {
'street': "bla",
'street-number': 2,
'zip': "12345",
'city': "blabla",
'country': ''
},
type: "addresses"
}
}
it 'test the create route' do
post 'create', { params: @address }
end
end
我的控制器方法:
public def create
action(Address::Create)
.otherwise('address_create_error', 401)
.then_render(Address::Representer::Out::Default)
end
还有我的工厂:
FactoryGirl.define do
factory :address do
street 'Musterstraße'
street_number '1'
zip '12345'
city 'Musterstadt'
country ''
end
end
我不知道为什么会出现这个错误。有人可以帮助我吗?
尝试使用“=>”语法
@address = {
'attributes' => {
'street' => "bla",
'street-number' => 2,
'zip' => "12345",
'city' => "blabla",
'country': ''
},
'type' => "addresses"
}
我今天已经解决了这个问题。为了解决这个问题,我不得不调整两件事。
- JSON必须作为字符串完整传输
- 它必须在请求正文中发送,而不是作为参数发送。那是因为我们特殊的环境。
谢谢你的帮助。 :)
我已经为控制器中的创建操作方法编写了 RSpec 测试。现在我变成了以下错误: error Screen
我的测试:
describe '#create' do
before(:each) {
@address = {
attributes: {
'street': "bla",
'street-number': 2,
'zip': "12345",
'city': "blabla",
'country': ''
},
type: "addresses"
}
}
it 'test the create route' do
post 'create', { params: @address }
end
end
我的控制器方法:
public def create
action(Address::Create)
.otherwise('address_create_error', 401)
.then_render(Address::Representer::Out::Default)
end
还有我的工厂:
FactoryGirl.define do
factory :address do
street 'Musterstraße'
street_number '1'
zip '12345'
city 'Musterstadt'
country ''
end
end
我不知道为什么会出现这个错误。有人可以帮助我吗?
尝试使用“=>”语法
@address = {
'attributes' => {
'street' => "bla",
'street-number' => 2,
'zip' => "12345",
'city' => "blabla",
'country': ''
},
'type' => "addresses"
}
我今天已经解决了这个问题。为了解决这个问题,我不得不调整两件事。
- JSON必须作为字符串完整传输
- 它必须在请求正文中发送,而不是作为参数发送。那是因为我们特殊的环境。
谢谢你的帮助。 :)