我想要黃瓜在開始測試之前在「db/seeds.rb」中加載我的種子數據。不是在每個場景或功能之前,而是在運行測試之前僅進行一次。 而且在每個場景之後,種子必須保留在db中。想要在運行黃瓜之前加載種子數據
這可能嗎?
我試着創建一個文件「features/support/seed_data.rb」,並要求我的db/seeds.rb在那裏,但它似乎並沒有加載文件。我試圖在env.rb中要求我的種子 - 沒有任何影響。
請問,有人可以提出我的解決方案嗎?
在此先感謝!
我想要黃瓜在開始測試之前在「db/seeds.rb」中加載我的種子數據。不是在每個場景或功能之前,而是在運行測試之前僅進行一次。 而且在每個場景之後,種子必須保留在db中。想要在運行黃瓜之前加載種子數據
這可能嗎?
我試着創建一個文件「features/support/seed_data.rb」,並要求我的db/seeds.rb在那裏,但它似乎並沒有加載文件。我試圖在env.rb中要求我的種子 - 沒有任何影響。
請問,有人可以提出我的解決方案嗎?
在此先感謝!
如何從您的seeds.rb文件中提取代碼並將其粘貼到AfterConfiguration塊中的hooks.rb中?
AfterConfiguration do |config|
# Your code from seeds.rb
end
在配置黃瓜後,應該在運行期間調用once。至少這樣做,你可以確定你是否有包括種子文件的問題。另一個想法是從AfterConfiguration採取seeds.rb並直接把它粘在支持目錄內作爲一個模塊,然後調用它:
# db_seeds.rb
module DbSeeds
def seed_db
# Your Code
end
end
World(DbSeeds)
#hooks.rb
AfterConfiguration do |config|
seed_db
end
創建一個在您的支持前的鉤/ hooks.rb文件看起來像這樣:
Before('@load-seed-data') do
load File.join(Rails.root, 'db', 'seeds.rb')
end
在場景之前測試中,調用掛鉤是這樣的:
@load-seed-data @US49
Scenario: This is a scenario that needs seed data.
Given...
非常感謝你。但是這仍然不起作用,因爲在每個場景黃瓜用所有種子清理數據庫之後(。 – 2011-03-15 13:57:48
真正的問題是爲什麼當你播種一次黃瓜時,黃瓜清理數據庫。 – 2011-03-15 14:17:54