2013-02-22 148 views
12

有沒有一種方法可以爲Cucumber中的所有場景定義清理步驟?我知道Background用於定義每個場景後面的設置步驟,但是有沒有辦法在每個場景結束時定義類似的情況?黃瓜場景的清理步驟

回答

9

您可以使用hook後,將每個場景後運行:

After do 
    ## teardown code 
end 

還有一個掛鉤之前,將允許您設置前的情景狀態和/或測試數據:

Before do 
    ## setup code 
end 

前後鉤提供的setupteardown功能從Test::Unit,他們一般都在hooks.rbfeatures/support目錄。

13

還應該注意到,「之前」和「之後」是全局鉤子,即那些鉤子是爲每一個場景在功能運行文件

如果你想在安裝和拆卸,爲只有幾測試用例運行(分組通過標籤),那麼你需要使用taggedHooks,在句法是

Before('@cucumis, @sativus') do 
# This will only run before scenarios tagged 
# with @cucumis OR @sativus. 
end 


AfterStep('@cucumis', '@sativus') do 
# This will only run after steps within scenarios tagged 
# with @cucumis AND @sativus. 
end 

欲瞭解更多信息:https://github.com/cucumber/cucumber/wiki/Hooks