2012-04-20 71 views

回答

6

雖然我不能想象你爲什麼會想這樣做,也許你可以試試這個: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'

這樣,在每次運行測試之前,都會執行設置代碼。

這是否解釋了我在第一個答案中寫的內容?

+1

我在每次測試之前都需要它我有很多測試類,我不想在每個測試類中重複自己,甚至不需要調用基類來爲我做這件事。我只是想它會自動發生 – 2012-04-21 09:41:35

+1

@ChenKinnrot,這就是爲什麼我告訴你有關setup.do的原因。這是它的目的。我已經加強了我的回答,試圖進一步解釋這一點。 – 2012-04-21 11:04:26

+0

我明白,謝謝你解釋,但如果我需要另一個類的具體設置?並且不希望開發人員調用基本設置? – 2012-04-21 12:55:38

相關問題