2011-05-23 82 views
1

我在Rails中進行了單元測試,它正在測試的模型使用Sequel是因爲我們自己的內部原因,但測試數據是使用factory_girl創建的,似乎將整個測試包裝在activerecord事務中。我可以使用self.use_transactional_fixtures = false,但想知道是否有一種方法在我的測試完成後不離開測試數據庫我的數據庫。在Rails測試中使用續集

回答

0

我不確定你正在使用什麼測試庫。對於RSpec的1,以下運行在自己的事務每個天賦例如:

class Spec::Example::ExampleGroup 
    def execute(*args, &block) 
    x = nil 
    Sequel::Model.db.transaction{x = super(*args, &block); raise Sequel::Error::Rollback} 
    x 
    end 
end 

對於RSpec的2,你可以使用一個圍繞過濾器來完成同樣的事情。我不知道如何在測試/單元中做到這一點,你可能需要重寫Test :: Unit :: TestCase#run。

+0

是的我正在使用Test :: Unit – trobrock 2011-05-25 03:15:28