2010-08-29 51 views
-1

我在黃瓜步驟定義中使用以下構造。使用delete_all和make時,rails 3中的mysql超時錯誤!在步驟定義

Given "I have following stuff" do 
    Model.delete_all 

    list.each { |i| Model.make!(:name => i) } 
end 

(make!來自機械師2)。

上面的步驟失敗,導致INSERT語句超時。當我打開一個測試環境的控制檯時,我可以執行每個語句而沒有問題。此外,如果我禁用事務功能超時消失。

任何人都可以請幫我解決這個問題嗎? (這不跑了與軌2.x的問題)

(mysql數據庫)

+0

什麼是確切的錯誤信息? – 2010-08-29 17:57:58

+0

Mysql2 ::錯誤:超出鎖定等待超時;嘗試重新啓動事務:INSERT INTO'model'(values ...) SQL(0.8ms)ROLLBACK SQL(39.5ms)ROLLBACK – BuddhiP 2010-08-30 15:51:26

+0

對不起,回覆遲了。先謝謝您的幫助。 – BuddhiP 2010-08-30 15:52:21

回答

-1

事實證明,這是與機械師測試版的問題,我用。我不是100%確定有什麼問題,但是當我使用純ActiveRecord代碼創建對象時,而不是使用make!有效。

然後我切換到Factory_Girl而不是機械師,現在它工作正常。

相關問題