Нужно ли запускать rake db: test: каждый раз вручную, прежде чем запускать тесты? - PullRequest
2 голосов
/ 20 августа 2011

Я новичок в Ruby on Rails.Я пытаюсь настроить простое WebApp через Scaffolding.И используя RSpec для моих тестов.Теперь после команды scaffold:

rails generate scaffold VideoSegment file_path:string short_name:string description:string

Я запустил rake db:migrate, но это ясно, перенося данные в мою базу данных разработки.Но тесты не были зелеными, прежде чем я сделал:

rake db:test:load

Чтобы перенести схему моей базы данных разработки в тестовую базу данных.Разве нет способа автоматизировать этот шаг?Или мне нужно снова загружать тестовую базу данных после каждого скаффолда?

PS: Конечно, я знаю, что скаффолд не делает лучших вещей, но для подтверждения концепции мне этого достаточно.за любые предложения.

1 Ответ

3 голосов
/ 20 августа 2011

Каждый раз, когда вы запускаете rspec, он подготавливает для вас схему теста, используя задачу: db:test:prepare

Итак, после генерации миграций вы должны выполнить rake db: migrate, чтобы обновить схему разработки, а затем запустить вашу спецификацию, которая автоматически подготовит для вас тестовую базу данных.

...