2011-01-22 40 views
12

我使用Factory Girl填充我的種子數據並將其添加到seed.rb中的數據庫。如何使用rake db將種子數據添加到我的測試數據庫中:seed?

我然後運行我的測試使用黃瓜。

我有一個價格表,其中包含我想要的所有環境中的種子數據。

我想要rake db:種子將它添加到我的dev 測試數據庫和黃瓜能夠使用該測試種子。然後我會在prod中添加種子數據。

如何確保將我的種子數據添加到開發者和測試數據庫?

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

回答

31

你可以嘗試這樣的:從一個類似的職位

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

這是否會改變環境只爲耙任務嗎?之後我需要重置嗎? – 2011-01-22 14:53:33

+0

不是,你只是告訴rake根據你的database.yml配置文件使用參數。無論如何,至少在你學習的時候,在你的命令中冗長的總是一個好主意。您可以運行您的Rails應用程序:scrip/server RAILS_ENV = development – Christian 2011-01-22 14:59:09

7

退房this answer

我真的覺得用工廠填充測試數據庫比較好。 如果您在測試期間需要種子數據,請在spec_helper/test_helper中將其添加爲before :all塊。

0

您可能還想在訪問測試數據庫時訪問this thread,特別是因爲您不想在測試數據庫中保留數據。

隨着您的測試開始發展,您很可能會發現自己正在使用種子數據,工廠以及嘲笑,並且持久數據會發現自己會遇到衝突。

我個人喜歡用一個自定義的種子文件,我的測試數據庫,並加載它在我的rails_helper:

DatabaseCleaner.strategy = :truncation 
DatabaseCleaner.clean 

load "#{Rails.root}/db/custom_test_seed.rb" 
相關問題