[英]Instance variable is not available in cucumber steps
嗨,我在Rails項目上工作,我必須在Cucumber上測試API。 我有一些實例變量來存儲URL,令牌等。我的第一種情況可以正常工作,但是第二種情況由於實例變量的值為nil而失敗。
功能文件:
Feature: Bill Reminder
Scenario: Validate POST bill_reminder API with valid parameters
When I make POST bill_reminder API call
Then It should return success for bill_reminder
Scenario: Validate GET bill_reminder API with valid login token
when I send a GET request to bill reminder details
Then the json response should have title bill reminder
步驟文件:
When(/^I make POST bill_reminder API call$/) do
@url = 'http://example.com/api/bill_reminders'
@params = {
data: {
type: "bill-reminders",
attributes: {
title: "bill reminder",
all_day: "0",
start_date: "1409175049",
end_date: "1409175049"
}
}
}
@login_token = 'nev4hPOqyVCXGnOXLYPUhQ'
@user_id = 402
end
Then(/^It should return success for bill_reminder$/) do
header 'login_token', @login_token
header 'user-id', @user_id
response = post @url, @params
response_body = JSON response.body
@id = response_body['data']['id']
expect(response.status).to eq(200)
end
When(/^I send a GET request to bill reminder details$/) do
@url = "http://example.com/api/bill_reminders/#{@id}"
@user_id = 402
@login_token = 'nev4hPOqyVCXGnOXLYPUhQ'
end
Then(/^the json response should have title bill reminder$/) do
header 'login_token', @login_token
header 'user-id', @user_id
response = get @url
expect(response.status).to eq(200)
end
在這里,由於實例變量的值為nil,我的第二種情況“ json響應應具有標題提示提醒”失敗。 我不知道為什么在第二種情況下實例變量的值為nil。 請幫助我修復它。
在第二次當步驟認定中你錯過下划線_的方法。
When(/^I send a GET request to bill_reminder details$/) do
@url = "http://example.com/api/bill_reminders/#{@id}"
@user_id = 402
@login_token = 'nev4hPOqyVCXGnOXLYPUhQ'
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.