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