我對TDD非常陌生,並且選擇使用上面提到的Gems。我想我已經正確設置了它,因爲我可以運行我的測試。但是,我不能弄清楚如何從db/seeds.rb填充我的測試數據庫。當我在終端調用使用Minitest-rails,水豚,水豚-webkit和Rails測試數據庫播種4
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文件
ProgramIndustry.delete_all
ProgramIndustry.create([
{ name: 'Accounting and finance'},
{ name: 'Banking'},
{ name: 'Construction'},
{ name: 'Education'}
])
爲什麼數據庫不能與seeds.rb填充(從使用人工播種耙時有效)當測試開始?
嗚呼!謝謝你這個作品。是的,我顯然不知道我在做什麼。 :D –
我有同樣的問題,但我沒有使用DatabaseCleaner,我們沒有使用燈具。我已經嘗試了數百萬的東西。我正在迅速接近放棄測試分貝的點:P – jaydel
@jaydel聯繫我,我可能會提供幫助。 – blowmage