Ruby on rails 让Rspec识别水豚的宏';s特色菜

Ruby on rails 让Rspec识别水豚的宏';s特色菜,ruby-on-rails,rspec,capybara,config,Ruby On Rails,Rspec,Capybara,Config,将宏添加到Rspec的配置时,必须指定访问宏的测试类型。例如,您可以键入: config.extend ControllerMacros, :type => :controller 水豚的类型(:feature)似乎无法被用户识别,您如何让它工作。尝试这样的方法是行不通的: config.extend FeatureMacros, :type => :feature 我不知道你为什么要键入extend,我所有的设置都是include,它们都可以工作 RSpec.configure

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

config.extend ControllerMacros, :type => :controller
水豚的类型(:feature)似乎无法被用户识别,您如何让它工作。尝试这样的方法是行不通的:

config.extend FeatureMacros, :type => :feature

我不知道你为什么要键入
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”这样的子文件夹中/

水豚助手示例

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

module Features
  module SessionHelpers

    def user_sign_in
    end
  end
end

这很有效。如果使用include,也不必设置
类型。