我有一個背景部分需要多分鐘的功能;它通過API在遠程系統上設置狀態。我希望它只對所有後續的場景執行一次,而不是針對每種場景執行。我的場景不會改變任何狀態,它們是隻讀的,所以不應該從一種場景到另一種場景產生副作用。黃瓜:如何執行多個場景一次背景
我沒有使用rails,也沒有本地數據庫,所以不能做數據庫事務。
我目前正在考慮在env.rb中使用Before來做些事情,並且根據隱式約定/標記的含義來創建一些條件代碼。 「@ background-only-once」,可以讓一些自定義代碼跳過這些步驟,或者它可以在步驟定義中執行不同的邏輯 - 但是嘗試在執行過程中共享這一點有點令人討厭。
想法?
當你說'對於所有後續的場景只執行一次',這是否意味着在同一個特性文件中的場景?是否必須重新調用後臺中的步驟(例如,如果其中一個步驟出現在不同的功能文件中)? –
a)是的,我想在「背景」部分中的步驟僅在該特性*中的任何場景*運行之前執行一次。 b)無關緊要;它可以以任何方式工作。 –
這是一個很好的問題,我很驚訝沒有可以接受的答案。我有完全相同的問題,徘徊什麼是處理它的最好方法。任何建議/幫助非常感謝。 –