Недавно я создал среду Rails dev на новой машине. Теперь я пытаюсь запустить набор тестов приложения, но продолжаю получать ошибки базы данных.Как отладить ошибку «база данных не существует» в наборе тестов?
Failure/Error: user = FactoryGirl.create(:user)
PG::ConnectionBad:
FATAL: database "test-db" does not exist
Файл базы данных database.yml настроен правильно. Я запустил psql -l
, и test-db действительно существует, и это подтверждается запуском rake db:create
, где я получаю сообщение «уже существует».
Я запустил rake db:migrate
и rake:test:prepare
, но ошибка все еще остается.
Мой тест настроить следующим образом
group :test do
gem 'rspec-rails'
gem 'factory_girl_rails'
gem 'capybara'
gem 'guard-rspec'
gem 'spork-rails'
gem 'guard-spork'
end
Я не имею никаких проблем с базой развития.
Почему я получаю db, не существует ошибки, и что я могу сделать, чтобы отладить это?
попытайтесь войти в консоль, используя тест ENV 'RAILS_ENV = test rails c'. ты можешь сделать это? Можете ли вы создать записи там? Еще одна деталь: вы перезапустите guard/spork после того, как был создан тестовый db? – gotva
спасибо gotva. Я могу получить доступ к консоли с помощью 'RAILS_ENV = test rails c', однако я не могу создать записи в тестовой базе данных. Используя консоль разработки/базу данных, я могу создавать записи без проблем. Кстати, я только что удалил локальные базы данных и пересоздал их и перепрограммировал. Я не понимаю, почему два dbs (dev и test) ведут себя по-другому. Цените больше идей и с удовольствием предоставите больше информации –