我使用的是以下情况:
Rails 4.1.1
guard-zeus 2.0.0
rspec-rails 3.0.1
开箱即用默认的rails g rspec:install
和guard init
当我运行guard
和保存规范文件,我得到的错误:
undefined method `configure` for RSpec:Module (NoMethodError)
我可以运行规范rspec spec
和rake
就好了。
在spec_helper
,如果我require 'rspec/rails
的配置块之前,门卫工作正常,但随后rspec spec
失败,出现错误:
uninitialized constant ActiveSupport::Autoload (NameError)
我猜有一个与负载的订单出现问题,现在rails_helper
和spec_helper
是分开的。
两个问题:
- 我怎样才能解决这个问题?
- 是否有持续集成不同的解决方案在本地 ,你可以推荐使用最新的Rails和RSpec的作品。
你只需要回答一个问题。
下面的修复对我说:
#spec/spec_helper.rb
require 'rspec/core'
抛出一个快速的答案,可能是这个问题。 你spec_helper文件应该有下面的命令:
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
RSpec的/导轨需要被需要的配置/环境要求后。
下列:
undefined method `configure` for RSpec:Module (NoMethodError)
建议你先失一
require 'rspec'
这通常是没有必要的,但如果你把它放在你的spec/spec_helper.rb
应该工作。
(如果你直接运行RSpec的,它包含已经使用RSpec)。
它不包括的,原因可能是:
该require 'rspec/rails'
或许应该进入spec/rails_helper.rb
...
...但更好的办法是更新rspec的护栏宝石和运行:
rails generate rspec:install
如果系统提示您 - 用“d”,以差异(理想情况下使用推荐的变化)。
您应该添加以下要求,以文件的顶部spec_helper.rb
require 'rspec/rails'
这里以参考: 宙斯GitHub的问题308