让Rspec识别Capybara特价的宏

时间:2013-05-13 13:04:56

标签: ruby-on-rails rspec capybara config

将宏添加到Rspec的配置时,您必须指定它将被访问的测试类型。例如,您可以输入:

config.extend ControllerMacros, :type => :controller

如何与Capybara合作,其类型(:功能)似乎无法被Rspec's config识别。尝试这样的事情是行不通的:

config.extend FeatureMacros, :type => :feature

1 个答案:

答案 0 :(得分:4)

我不知道你为什么要输入extend,我的所有设置都是include并且它们有效。

RSpec.configure do |config|
  # ... others

  # Session helpers - For Capybara
  config.include Features::SessionHelpers, type: :feature

  # Controller helpers
  config.include ControllerMacros, type: :controller

end 

模块文件位于spec/support。如果是子模块,它们在子文件夹中,如`spec / support / features /

Capybara助手的例子

# spec/support/features/session_helpers.rb
require 'spec_helper'

module Features
  module SessionHelpers

    def user_sign_in
    end
  end
end