Rspec, shoulda и spork не работают вместе
когда я запускаю rspec spec/models
результат в порядке.
Но когда я использую spork, каждый тест, где должны быть макросы (например, it { should validate_presence_of(:title) }
используется FAILS с ошибкой вроде: undefined method 'validate_presence_of' for ...
Я использую:
rails (3.0.0)
shoulda (2.11.3)
spork (0.8.4)
rspec-rails (>= 2.0.0.beta.22)
спецификации/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'
...
Ответы
Ответ 1
У меня была такая же проблема. Исправлено, вставив require 'shoulda/integrations/rspec2'
после запроса rspec/rails
в блоке предварительного просмотра.
Вы также можете обновить свою spork до последней версии (gem 'spork', >= 0.9.0.rc2
), так как я не пробовал это исправление на 0.8.4 (хотя я уверен, что это тоже сработает)
Ответ 2
Попробуйте переместить
require "shoulda"
в блок Spork.each_run
. По-видимому, нужно сделать магию, чтобы включить в соответствующие группы примеров.