当我运行rspec spec/models
时结果没问题。
但是,当我使用 spork 时,每个测试应该使用#a {1}}的所有测试使用FAILS,如下所示:it { should validate_presence_of(:title) }
我用:
undefined method 'validate_presence_of' for ...
规格/ spec_helper.rb:
require 'rubygems' require 'spork' Spork.prefork do # This file is copied to spec/ when you run 'rails generate rspec:install' ENV["RAILS_ENV"] ||= 'test' require File.expand_path("../../config/environment", __FILE__) require 'rspec/rails' require 'shoulda' ...
答案 0 :(得分:15)
我有同样的问题。通过在prefork块中要求require 'shoulda/integrations/rspec2'
后粘贴rspec/rails
来修复它。
您可能还想将您的spork升级到最新版本(gem 'spork', >= 0.9.0.rc2
),因为我没有在0.8.4上尝试此修复程序(虽然我很确定它也能正常工作)
答案 1 :(得分:1)
尝试移动
require "shoulda"
进入Spork.each_run
区块。显然,shoulda会将匹配器包含在适当的示例组中。