如何将Capybara纳入Cucumber项目的模块中

我定义了一个模块:

module Support include Capybara::DSL def self.do_something click_link 'Questions' end end 

它位于features / support / support.rb

我的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中调用模块的function:

 Support::do_something 

我有例外:

 undefined method `click_link' for Support:Module (NoMethodError) 

如何在支持模块中提供Capybara?

水豚应该extend ,不include -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 

http://rubydoc.info/github/jnicklas/capybara/master/Capybara/DSL