2010-07-13 40 views
0

我剛剛開始一個新項目,我遇到了很多奇怪的事務夾具問題。聽起來這是Rails的一個問題,所以我希望StackOverflow可以提供幫助。這是破敗。如何在Rails中正確設置交易裝置?

  • 同事可以正常運行測試。他們正在運行Mac OS X;我正在運行Ubuntu。

  • use_transactional_fixturestrue時,大量測試都會失敗,並顯示can't find [record] with ID=[some-id]。我的同事在這種模式下運行,但沒有遇到任何問題。

  • 如果我將use_transactional_fixtures設置爲false,則幾乎所有先前失敗的測試都會再次通過。我的同事沒有看到任何區別,只是由於交易不再使用,測試運行緩慢。

  • 當測試單獨(rake spec SPEC=spec/some-specific-spec.rb)與夾具上false運行,存在測試#1234的故障,並且僅測試#1234。

  • 進行測試時使用固定裝置上運行false所有一起rake spec),還有在測試#3456失敗,只有測試#3456。

  • 這兩個測試沒有任何明顯的相關性。有很多測試(超過5000),所以可能會有巧合發生似乎並不令人驚訝。

你會從這種情況中得出什麼結論,你將如何去修復它?

回答