1
我使用幾乎傑夫·摩根的新書「黃瓜&奶酪」的確切相同的設置,我有一個頁面對象,像這樣爲什麼這個返回「無法轉換零到字符串」
class NewPublicationPage
include PageObject
include RSpec::Matchers
...
def submit_basic_message_with_tag
@tag = Time.now.to_i
...
self.tag_entry = @tag
# the tag ends up getting added later on down the road to a div container.
...
end
def verify_last_tag
done_loading
# tag_list is a div container that should contain the tag.
tag_list.should include @tag
end
end
當我運行在Cucumber步驟中執行以下命令,每個命令都帶有自己的步驟,但失敗的原因是cannot convert nil to string
。我知道它與實例變量@tag有關,但我不知道爲什麼。
When /^I submit a basic message with tags$/ do
on_page(NewPublicationPage).submit_basic_message_with_tag
end
Then /^I should see the tag under Publish History$/ do
visit_page(PublishHistoryPage) # goes to page with div container that holds tags
on_page(NewPublicationPage).verify_last_tag #this creates the error
end
你沒有添加你的步驟代碼,但我不確定,但我會說,如果第二步失敗,這是因爲@tag是零。事實上,在'submit_basic_message_with_tag'函數中,您將爲其分配一個值,但不在第二個函數中。 – pjam
我認爲你是對的,那麼我將如何從'submit_basic_message_with_tag'方法中獲取'@ tag'的值?因爲這是我需要的,並且它需要在兩種方法中保持相同的價值。 –
因爲我不知道你的步驟是怎麼做的,所以很難說你如何實現這個 – pjam