zky*_*ony 5 rspec ruby-on-rails shoulda mongoid
我正在使用 Rails 4 和 Mongoid 4 开发一个项目。我正在尝试设置 Shoulda- matchers(版本 2.8.0),遵循thoughtbot/should-matchers,它指向另一个名为README for 2.8.0 的自述文件。我希望使用mongoid-rspec进行测试。
但是我不断得到spec_helper.rb:94:in '<top (required)>': uninitialized constant Shoulda (NameError)
我在Gemfile以下内容中添加了这个:跟随thoughtbot/shouda-matchers
group :test do
gem 'shoulda-matchers'
end
Run Code Online (Sandbox Code Playgroud)
我还添加了spec_helper.rb(这是错误的来源)-关注thoughtbot/should-matchers
Shoulda::Matchers.configure do |config|
config.integrate do |with|
with.test_framework :rspec
with.library :rails
end
end
Run Code Online (Sandbox Code Playgroud)
我试过谷歌搜索,但没有直接的解决方案(或者没有直接的问题)。我require: false在 Gemfile 中添加,遵循2.8.0 的自述文件
group :test do
gem 'shoulda-matchers', require: false
end
Run Code Online (Sandbox Code Playgroud)
我require 'shoulda/matchers'在rails_helper.rb. 我的“要求”顺序是这样的:
require 'spec_helper'
require 'rspec/rails'
require 'shoulda/matchers'
Run Code Online (Sandbox Code Playgroud)
默认情况下,require 'rspec/rails' 低于 require 'spec_helper'。根据 github 页面上提供的README,我应该放在shoulda\matcher'rspec/rails' 下方。我也试过require 'shoulda/matchers'放在上面,require 'spec_helper'但没有用。
我的版本:
Rails 4.2.1
Ruby 2.2.1
Mongoid ~ 4.0.0
rspec-rails ~ 3.0
mongoid-rspec ~ 2.1.0
shoulda-matchers 2.8.0
Run Code Online (Sandbox Code Playgroud)
我真的很感激任何帮助。
从您提供的链接:
注意:新的配置语法尚未在公开版本中提供——请参阅 2.8.0 的自述文件以获取当前安装说明。
该注释来自主分支。当前版本 (2.8.0) 有一组不同的文档。令人困惑,我知道。
只需从中删除该配置部分spec/spec_helper.rb,所有内容都应该再次成为彩虹和独角兽。
| 归档时间: |
|
| 查看次数: |
3317 次 |
| 最近记录: |