rspec возвращает "PG::Error: ERROR: отношение "table_name" не существует"

Окружающая среда REE(2011.12) для rvm, rspec 2.8.0, rails 3.0.6 и pg 0.13.2. Использование PostgreSQL 8.3.17 на CentOS 5.6. db:migrate работает корректно. Но rspec получил следующую ошибку.

1) ApiController articles OK
 Failure/Error: Unable to find matching line from backtrace
 ActiveRecord::StatementInvalid:
   PG::Error: ERROR:  relation "table_name" does not exist
   : DELETE FROM "table_name"

Я обновляю свой проект с rails 2.3.5 с серией rspec 1.x на rails 3.0 с rspec2. Скопировал все тесты rspec и объединил старый spec_helper.rb и новый (был сгенерирован rails g rspec:install).

ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
require 'rspec/autorun'

Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}

RSpec.configure do |config|

  config.fixture_path = "#{::Rails.root}/spec/fixtures"
  config.use_transactional_fixtures = true

end

Я читал аналогичный вопрос об этой ошибке. Поэтому я попробовал rake db:test:prepare или rake db:test:load, но это не разрешилось. Есть ли у вас какие-либо идеи? Похоже, тест не запустился в тестовой базе данных... Что делать? :(

11
задан inohiro 5 March 2012 в 05:47
поделиться