Ruby 如何将水豚纳入黄瓜项目的模块
我定义了一个模块:Ruby 如何将水豚纳入黄瓜项目的模块,ruby,cucumber,capybara,Ruby,Cucumber,Capybara,我定义了一个模块: module Support include Capybara::DSL def self.do_something click_link 'Questions' end end 它位于features/support/support.rb My env.rb: require 'capybara' require 'cucumber' require 'capybara/cucumber' Capybara.app_host = "http://w
module Support
include Capybara::DSL
def self.do_something
click_link 'Questions'
end
end
它位于features/support/support.rb
My env.rb:
require 'capybara'
require 'cucumber'
require 'capybara/cucumber'
Capybara.app_host = "http://www.stackoverflow.com"
Capybara.run_server = false
Capybara.default_driver = :selenium
我在steps.rb中调用模块的函数:
Support::do_something
我也有例外:
undefined method `click_link' for Support:Module (NoMethodError)
如何使Capybara在支持模块中可用?Capybara应该是
扩展的-ed,而不是包含的-ed:
module Support
extend Capybara::DSL
def self.do_something
click_link 'Questions'
end
end
module SupportModule
class Support
include Capybara::DSL
def do_something
click_link 'Questions'
end
end
end
s = SupportModule::Support.new
s.do_something