如何将 Capybara 包含到 Cucumber 项目的模块中 [英] How to include Capybara into module in Cucumber project

查看:43
本文介绍了如何将 Capybara 包含到 Cucumber 项目的模块中的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我定义了一个模块:

module Support
  include Capybara::DSL

  def self.do_something
    click_link 'Questions'
  end
end

它位于 features/support/support.rb

It's situated at features/support/support.rb

我的环境.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中调用模块的函数:

I invoke function of module in steps.rb:

Support::do_something

我有一个例外:

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

如何让 Capybara 在支持模块中可用?

How can I make Capybara available in Support module?

推荐答案

Capybara 应该是 extend-ed,而不是 include-ed:

Capybara should be extend-ed, not include-ed:

module Support
  extend Capybara::DSL

  def self.do_something
    click_link 'Questions'
  end
end

这篇关于如何将 Capybara 包含到 Cucumber 项目的模块中的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆