将宏添加到 Rspec 的配置时,您必须指定将访问它的测试类型。例如,您可以键入:
config.extend ControllerMacros, :type => :controller
你如何让它与 Capybara 一起工作,它的类型 (:feature) 似乎不被Rspec 的 config识别。尝试这样的事情不起作用:
config.extend FeatureMacros, :type => :feature
将宏添加到 Rspec 的配置时,您必须指定将访问它的测试类型。例如,您可以键入:
config.extend ControllerMacros, :type => :controller
你如何让它与 Capybara 一起工作,它的类型 (:feature) 似乎不被Rspec 的 config识别。尝试这样的事情不起作用:
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/
Capybara 助手示例
# spec/support/features/session_helpers.rb
require 'spec_helper'
module Features
module SessionHelpers
def user_sign_in
end
end
end