在我的黃瓜測試中,我想截取我係統邊界上的一些調用,然後驗證這些調用的參數。Cucumber-guice:場景範圍攔截器?
因此,在每個場景中,我執行一些操作,攔截器攔截調用某些外部系統的參數並將它們存儲在某個類中,我們將其稱爲ScenarioContext
。然後這些參數在我的@Then步驟定義中進行驗證。
的問題是ScenarioContext
類具有全局@Singleton
範圍意味着許多不好的事情,包括無法並行運行,必要情況下每個場景,場景之間無意依賴後手動清理。
黃瓜guice有一個偉大的功能,稱爲@ScenarioScoped
註釋,它允許我有情景範圍的類,它的作品就像一個魅力。
我的問題:是否有可能以某種方式使我ScenarioContext
類(使用我的攔截器來存儲截獲的東西)是「場景範圍的」,即,系統將自動每個場景等後清理?
不完全是我的問題的答案。我已經在使用'@ ScenarioScoped'步驟定義,它工作。問題是我不得不使用總是具有單例作用域的攔截器,然後我無法弄清楚如何將單例作用域的攔截器與我想成爲場景範圍的對象連接起來。 – Alexander