Я очень новичок в TDD и решил использовать вышеупомянутые драгоценные камни. Я думаю, что настроил его правильно, так как я могу запускать свои тесты. Однако я не могу понять, как заполнить мою тестовую базу данных из db/seeds.rb. Когда я вызываю
rake db:seed RAILS_ENV=test
в терминале я вижу строки, созданные в базе данных через PGAdmin. Однако, когда я запускаю свои тесты со следующим
rake minitest:all
после этого база данных становится пустой, и в тесте, когда я сохраняю снимок экрана, элементы из базы данных не отображаются во внешнем интерфейсе, как это происходит, когда я нахожусь в разработке.
Мой test_helper.rb содержит следующее.
ENV["RAILS_ENV"] = "test"
require File.expand_path("../../config/environment", __FILE__)
require "rails/test_help"
require "minitest/rails"
require 'minitest/rails/capybara'
require 'minitest/focus'
require 'minitest/colorize'
Capybara.javascript_driver = :webkit
class ActiveSupport::TestCase
fixtures :all
DatabaseCleaner.strategy = :transaction
class MiniTest::Spec
before :each do
Rake::Task["db:seed"].invoke
DatabaseCleaner.start
end
after :each do
DatabaseCleaner.clean
end
end
end
И в качестве дополнительного фона мой файл db/seeds.rb (который работает при заполнении вручную с помощью rake)
ProgramIndustry.delete_all
ProgramIndustry.create([
{ name: 'Accounting and finance'},
{ name: 'Banking'},
{ name: 'Construction'},
{ name: 'Education'}
])
Почему база данных не будет заполнена seed.rb при запуске тестов?