Capybara 2.0和rspec-rails - 帮助程序在规范/功能中不起作用

use*_*937 5 ruby rspec ruby-on-rails helper capybara

我正在尝试使用辅助模块中的方法,但rspec似乎没有识别出测试的助手spec/features.请注意,唯一的变化spec_helper.rb是添加require 'capybara/rspec'.

我尝试移动helper.rbspec/support,spec/helpersspec/features(包含我的测试的目录),但没有运气.测试始终指示辅助方法未定义.

让它"工作"的唯一方法是将我的测试移动到另一个目录,例如spec/integration.但现在水豚将无法工作(visit undefined)因为它不在spec/features.

这是我的助手模块(authentication_helper.rb):

module AuthenticationHelper
    def sign_in_as!(user)
        visit '/users/sign_in'
        fill_in "Email", with: user.email
        fill_in "Password", with: "password"
        click_button "Sign in"
        page.should have_content("Signed in successfully.")
    end
end

RSpec.configure do |c|
    c.include AuthenticationHelper, type: :request
end
Run Code Online (Sandbox Code Playgroud)

Sac*_*ngh 0

将此帮助文件放在spec/support/中

和这一行spec_helper.rb

  # Requires supporting ruby files with custom matchers and macros, etc,
  # in spec/support/ and its subdirectories.
  Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
Run Code Online (Sandbox Code Playgroud)