【发布时间】:2015-02-26 21:00:08
【问题描述】:
我正在学习 TDD 并尝试使用 shoulda_matchers 来帮助我进行测试,但我遇到了一个非常奇怪的错误。这是我的测试:
spec/models/idea_spec.rb
require 'rails_helper'
describe Idea do
context 'Validations' do
describe 'title' do
it { should validate_presence_of(:title) }
end
end
end
测试错误说:
Idea Validations title
Failure/Error: it { should validate_presence_of(:title) }
NoMethodError:
undefined method `validate_presence_of' for #<RSpec::ExampleGroups::Idea_3::Validations::Title:0x007f056f9fcdf8>
# ./spec/models/idea_spec.rb:7:in `block (4 levels) in <top (required)>'
根据 gem 说明,require 'should/matchers' 位于我的 rails_helper 文件的顶部。
我正在使用的宝石:
group :development, :test do
gem 'spring'
gem 'dotenv-rails'
gem 'rspec-rails', '~> 3.0'
gem 'factory_girl_rails'
end
group :test do
gem 'webmock', '~> 1.20.4'
gem 'shoulda-matchers', require: false
end
- 红宝石'2.1.2'
- 导轨','4.1.9'
【问题讨论】:
标签: ruby-on-rails ruby unit-testing rspec shoulda