ruby-on-rails - 当 Guard 在监视文件中运行规范时,Rspec/Capybara "feature"方法未定义,手动运行时有效

标签 ruby-on-rails spring rspec capybara guard

使用 Guard 运行我的规范时遇到一个奇怪的问题。

我正在运行一个使用 Capybara“功能”/“场景”语法的功能规范。我也在使用 Spring。

如果我运行 rspec spec 一切正常或 spring rspec在控制台或 rspec在 Guard shell 中。但是,当监视的规范由 Guard 自动运行时,我收到以下错误:

/spec/features/navigation_spec.rb:1:in <top (required)>': undefined methodfeature' for main:Object (NoMethodError)



为什么它不只在这个特定的上下文中使用 Capybara 语法?

这是相关的代码:

保护文件
guard :rspec, :spring => true do
    watch(%r{^spec/.+_spec\.rb$})
end

规范/功能/navigation_spec.rb
feature "navigation" do
    context "When on the home page" do
        before { visit "/" }

        scenario "I should see the navigation header" do
            expect(page).to have_selector("div.navigation")
        end
    end
end

规范/spec_helper.rb
require 'capybara/rspec'

最佳答案

对于将来可能遇到类似问题的任何人,我忘了包括 require 'spec_helper'在功能规范中(就像一个白痴)。

关于ruby-on-rails - 当 Guard 在监视文件中运行规范时,Rspec/Capybara "feature"方法未定义,手动运行时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19715220/

相关文章:

ruby-on-rails - 从 before(:each) block) 中获取完整的 RSpec 测试名称

ruby-on-rails - 什么是 'Rails Way'实现数据动态上报系统

ruby-on-rails - rails/回形针 : How do I display images from S3 that have authenticated_read permissions?

ruby-on-rails - rake spec 在 specs 之后运行测试

ruby-on-rails - 如何在 ruby​​ on rails 应用程序中单击带有 capybara 的单选按钮

ruby-on-rails - ruby on rails 中 %w 的用途

java - 违反参照完整性约束 - 添加超过 2 条记录时失败

java - 如何在 Spring 中从 application.properties 重新加载 @Value 属性?

java - Bean 轻量模式配置如何在 Bean 上创建代理

ruby - 比较 float 的随机 RSpec 失败(Eq 匹配器)