我有一个模块,我已经包含在我的主要课程中:
module GenericPage
def check_url=(page)
puts(page)
end
end
我创建了一个我的类的新实例,我在Cucumber中调用
require_relative '../../../support/helper_methods'
class FindYourDealerPage
include GenericPage
def initialize(browser)
@browser = browser
end
def search_location=(location)
@browser.text_field(:id, 'findDealerSearchField').set(location)
@browser.send_keys :tab, :enter
end
黄瓜:
Given /^I am on the find your dealer page$/ do
@browser.goto 'www.google.com'
@dealer.check_url('www.google.com')
@dealer = FindYourDealerPage.new(@browser)
end
When /^I select a desired preference$/ do
end
Then /^my filtered selection should be submitted$/ do
end
当这个运行时,我得到一个错误NoMethodError: undefined method
check_url'为nil:NilClass`我在哪里错了,忘记方法中的内容我想知道为什么我收到此错误< / p>
答案 0 :(得分:5)
我认为这个问题就在这里
@dealer.check_url('www.google.com')
@dealer = FindYourDealerPage.new(@browser)
请注意在分配check_url
之前致电@dealer
的方式...意味着当您拨打方法时@dealer
仍然是nil
,这就是您获得NoMethodError
的{{1}}。
此外,您目前有nil:NilClass
,但是请致电def check_url=(page)
。根据您在此处的意思,您需要将定义更改为check_url(page)
或将调用更改为def check_url(page)
(我怀疑前者更合适)。