Подтвердить что ты не робот

Как я могу добавить свои данные семени в свою тестовую базу данных с помощью rake db: seed?

Я использую Factory Girl для заполнения моих данных семени и добавления его в db в seed.rb.

Затем я запускаю свои тесты с помощью Cucumber.

У меня есть таблица цен, которая содержит исходные данные, которые я хочу во всех средах.

Я хочу использовать rake db: seed, чтобы добавить его в мой dev и test db и для огурца, чтобы иметь возможность использовать это тестовое семя. Затем я добавлю также данные семян в prod.

Как я могу гарантировать, что мои данные семени будут добавлены в dev и test db?

rake db:seed #only adds it only to my dev database
4b9b3361

Ответ 1

Вы можете попробовать что-то вроде этого:

rake db:seed RAILS_ENV=test --trace
rake db:seed RAILS_ENV=production --trace

Ответ 2

Просмотрите этот ответ из аналогичного сообщения.

Я действительно считаю, что лучше использовать фабрики для заполнения тестовой базы данных. И если вам нужны данные семян во время тестов, добавьте их как блок before :all в spec_helper/test_helper.

Ответ 3

Вы можете захотеть посетить этот поток, а также при работе с тестовой базой данных, тем более, что вы не хотите сохранять данные в своей тестовой базе данных.

По мере того, как ваши тесты начнут развиваться, вы, скорее всего, окажетесь с использованием данных семян, фабрик, а также издевательств, а с постоянными данными вы столкнетесь с конфликтами.

Лично мне нравится использовать собственный файл семпла для моей тестовой базы данных и загружать его в свой rails_helper:

DatabaseCleaner.strategy = :truncation
DatabaseCleaner.clean

load "#{Rails.root}/db/custom_test_seed.rb"