亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何自動將db:seed數據加載到測試數據庫中?

如何自動將db:seed數據加載到測試數據庫中?

拉風的咖菲貓 2019-12-13 09:25:11
我正在嘗試使用新的標準方法在db:seedrake 2.3.4+中加載種子數據,這是rake任務。我正在加載常量數據,這是我的應用程序真正正常運行所必需的。使db:seed任務在測試之前運行的最佳方法是什么,以便預先填充數據?
查看完整描述

3 回答

?
慕容森

TA貢獻1853條經驗 獲得超18個贊

我說應該


namespace :db do

  namespace :test do

    task :prepare => :environment do

      Rake::Task["db:seed"].invoke

    end

  end

end

因為如果您有config.active_record.schema_format =:sql,則不會執行db:test:load(db:test:clone_structure是)


查看完整回答
反對 回復 2019-12-13
?
慕田峪4524236

TA貢獻1875條經驗 獲得超5個贊

您可以用來Rails.application.load_seed將種子數據加載到測試環境中。但是,何時以及何時加載此數據取決于以下幾件事:


使用Minitest

在進行所有測試之前,沒有一種方便的方法可以運行一次此文件(請參閱此Github問題)。您需要在每次測試之前加載一次數據,這很可能是在測試文件的設置方法中進行的:


# test/models/my_model_test.rb

class LevelTest < ActiveSupport::TestCase


? def setup

? ? Rails.application.load_seed

? end


? # tests here...


end

使用RSpec

使用RSpec的before(:all)方法為該模型的所有測試加載種子數據:


describe MyModel do

? before(:all) do

? Rails.application.load_seed

end


describe "my model..." do

? # your tests here

end

希望這可以幫助。


查看完整回答
反對 回復 2019-12-13
  • 3 回答
  • 0 關注
  • 902 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號