Я считаю Steve's comment выше должен быть правильный ответ. Вы можете использовать Rails.application.load_seed
для загрузки данных семян в тестовую среду.Однако, когда и как часто эти данные загружен, зависят от нескольких вещей:
Использования MiniTest
Там нет удобного способа запустить этот файл один раз, прежде чем все испытания (см this Github issue). Вам необходимо загрузить данные, когда перед каждым испытанием, скорее всего, в способе установки ваших тестовых файлов:
# test/models/my_model_test.rb
class LevelTest < ActiveSupport::TestCase
def setup
Rails.application.load_seed
end
# tests here...
end
Использование RSpec
before(:all)
метод
Используйте RSpec для загрузки начальных данных для всех испытаний для этой модели :
describe MyModel do
before(:all) do
Rails.application.load_seed
end
describe "my model..." do
# your tests here
end
Надеюсь, что это поможет.
Я обожаю простоту, но почему-то добавление этой строки в мой 'test_helper.rb' не работало для меня, хотя http://stackoverflow.com/a/1998520/68210. –
В новых версиях рельсов вы можете: Rails.application.load_seed – Steve
@Steve спасибо - знаете ли вы, куда класть Rails.application.load_seed, если вы используете rspec/capybarra, например? – BKSpurgeon