2009-12-04 144 views
6

SO民俗,黃瓜清理

圍繞這些部件任何人都知道,如果你可以在運行結束清洗的測試數據要保持冷靜?我有一些測試繼續失敗,我想看看支持這些測試的數據......

任何想法?

謝謝! 科裏威爾克森

+1

您可能需要解釋一下與實例。你想做什麼? 「清潔」是什麼意思?你可以單獨運行測試並獲得好的結果嗎?整個套件是否失敗? – bojo 2009-12-04 16:05:17

+0

對不起 - 以爲這很清楚。我對黃瓜本身沒有問題,完全沒有問題。測試正在按照我的預期運行。我只是好奇如果我可以讓Cucumber截斷/清除在本地數據庫的Cucumber測試期間創建的測試數據,這樣我可以更好地調查測試失敗的原因(不是Framework/Cucumber失敗)。 感謝downvote。 – Cory 2009-12-04 16:22:51

回答

5

在你features/support/env.rb文件中有一些有關評論這個。如果您不想在特定方案完成後回滾數據庫,請將@no-txn標記添加到方案中。您將需要自己清理數據庫。最簡單的方法是做一個db:test:clone

解決問題的最佳方法是單獨運行問題場景並查看每個問題情況如何失敗。如果你做了一個運行,並且有在數據庫中留下數據的場景,那麼你將會引發各種問題。解決方案後,請在執行下一步之前執行db:test:clone或執行一次運行。

+0

謝謝約瑟夫 - 正是我所期待的。 – Cory 2009-12-08 14:57:16

1

有點駭人,但作爲最後的手段,也許你可以添加一個名爲「然後暫停測試」,阻止,或進入輪詢循環,並不會繼續下去,直到它看到一些條件更改(例如,您觸摸/features/continue.txt)?

在您想要查看的測試中粘貼「然後暫停測試」,並且您有辦法在數據庫繼續之前檢查數據庫。當然,如果黃瓜使用數據庫事務,這並不工作...

(很抱歉的模糊性;它已經有一段時間,因爲我最後一次使用黃瓜。)

+0

或「然後我想調試」 – 2011-02-10 16:57:37

3

下面是調試步驟I,山姆利文斯灰色的評論中提到的definitino:

When /I want to debug/i do 
    debugger 
    true # never put debugger at the end of a method 
end