2015-03-31 33 views
1

我在resharper的幫助下運行規格流程特徵文件,某些特徵文件被忽略以便稍後與@ignore標籤一起使用。會發生什麼事情是,chromedriver打開這些測試,意識到他們被忽略並停止測試。當我從文件夾運行測試時,每個包含這些忽略測試的文件夾最多需要5分鐘。有沒有辦法阻止測試運行者,運行這些被忽略的測試,以便我可以節省一些時間?我想在規範流程中跳過使用@ignore標記的測試

回答

2

這真的取決於你從哪裏開始chromedriver。如果您在[BeforeScenario]步驟中啓動驅動程序,那麼是的。它像這樣簡單:

if(!ScenarioContext.Current.ScenarioInfo.Tags.Contains("ignore")){ 
    //start chromedriver 
} 

這樣你可以檢查,以確保在當前情況下應被忽略或不和避免啓動chromedriver如果是。

+0

感謝您的回覆。它看起來很完美,但看起來像一個[BeforeFeature]步驟中的web驅動器觸發....所以這是行不通的。 – 2015-04-01 04:01:33

+1

實際上它的工作!我只是將[BeforeFreature]標籤更改爲[BeforeScenario]和bam!有效。該testrunner建立測試,並沒有打開chromedriver,並在眨眼之間,在單元測試會話窗口中有一個消息,測試已被忽略。感謝堆。 – 2015-04-01 04:31:57

+0

如果您要在整個功能文件上使用@ignore,則還需要檢查FeatureContext.Current.FeatureInfo.Tags以進行忽略。但是在任何情況下,如果場景或功能被ignore標記忽略,BeforeScenario將不會運行 – Steve 2016-07-22 15:22:15