【发布时间】:2018-09-03 17:45:16
【问题描述】:
我正在处理一个Rails 项目,我必须在其中使用 Cucumber 测试 API。我必须测试一个 POST 类型的 API,并且我需要验证它的响应。我尝试过类似的方法:
When(/^I make abc API call$/) do
@url = 'http://example.com/api/abc'
@params = '{
data: {
type: "abc",
attributes: {
title: "example",
all_day: "0",
start_date: "1409175049",
end_date: "1409175049"
}
}
}'
@login_token = 'pHufpGplLTYJnmWh5cqKoA'
end
Then(/^It should return success for abc$/) do
post 'http://example.com/api/abc', body: @params,
headers: { 'Accept' => 'application/json',
'login_token' => @login_token,
'Content-Type' => 'application/json' }
end
但我不确定如何验证响应中的状态代码和响应中的任何属性。比如:
Then(/^It should return success for abc$/) do
post 'http://example.com/api/abc', body: @params,
headers: { 'Accept' => 'application/json',
'login_token' => @login_token,
'Content-Type' => 'application/json' }
.to_return(status: 200, body: '{ title: "abc" }')
end
我怎样才能实现它?
【问题讨论】: