6

モジュールを定義しました:

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でモジュールの関数を呼び出します:

Support::do_something

そして私は例外があります:

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

サポートモジュールでCapybaraを利用できるようにするにはどうすればよいですか?

4

2 に答える 2

6

カピバラはextend-edではなくinclude-edにする必要があります:

module Support
  extend Capybara::DSL

  def self.do_something
    click_link 'Questions'
  end
end
于 2012-12-27T16:26:18.587 に答える
1
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

于 2012-12-27T16:35:59.327 に答える