3
我想在每次測試運行前清除我的db
,我應該在哪裏放置用於實現此行爲的腳本?導軌3單元測試 - 定義在每次測試前運行的一般設置方法
我想在每次測試運行前清除我的db
,我應該在哪裏放置用於實現此行爲的腳本?導軌3單元測試 - 定義在每次測試前運行的一般設置方法
雖然我不能想象你爲什麼會想這樣做,也許你可以試試這個:https://github.com/bmabey/database_cleaner
在任何情況下,應該把之前所有的測試在呼叫設置,可以調用語句:
setup do
# statements executed on start of every test
end
UPDATE:爲了解釋多一點點:
你可以做的一件事是你test_helper.rb
文件中:
class ActiveSupport::TestCase
### Common setup for all tests ###
setup do
# write code to clean up your database here
end
end
然後在你的實際測試文件中,你必須測試類從ActiveSupport::TestCase
派生你只需要require 'test_helper'
。
這樣,在每次運行測試之前,都會執行設置代碼。
這是否解釋了我在第一個答案中寫的內容?
我在每次測試之前都需要它我有很多測試類,我不想在每個測試類中重複自己,甚至不需要調用基類來爲我做這件事。我只是想它會自動發生 – 2012-04-21 09:41:35
@ChenKinnrot,這就是爲什麼我告訴你有關setup.do的原因。這是它的目的。我已經加強了我的回答,試圖進一步解釋這一點。 – 2012-04-21 11:04:26
我明白,謝謝你解釋,但如果我需要另一個類的具體設置?並且不希望開發人員調用基本設置? – 2012-04-21 12:55:38