0
我知道可以通過使用ScenarioStepContext.Current.StepInfo
從specflow獲取步驟信息,但如果步驟位於Background塊內部,則不會返回。如何識別Specflow的後臺步驟?
有沒有辦法找出背景中的步驟或方案/場景大綱?
謝謝!
我知道可以通過使用ScenarioStepContext.Current.StepInfo
從specflow獲取步驟信息,但如果步驟位於Background塊內部,則不會返回。如何識別Specflow的後臺步驟?
有沒有辦法找出背景中的步驟或方案/場景大綱?
謝謝!
目前無法在StepInfo中獲取此信息。
但是,有一種可能的(但很小的黑客)的方式來獲取此信息。您必須查看StackTrace並在那裏搜索名爲FeatureBackground()的方法。這是生成的代碼中來自背景的方法。
此代碼將做的工作:
var stackTrace = new System.Diagnostics.StackTrace();
var stackFrames = stackTrace.GetFrames();
bool isBackground = stackFrames.Where(x => x.GetMethod().Name == "FeatureBackground").Any();
對不起,回覆遲了。完美工作!謝謝! – Icaroto
什麼是你需要這些信息的原因是什麼? –
嗨,對不起,應該提到這一點。我正在構建基於Specresults的報告,但事情是它顯示未定義的測試(沒有步驟,只有創建的場景)通過,因爲它將後臺步驟視爲場景的一部分。因此,基本上會發生這種情況: 如果方案沒有後臺步驟:它顯示爲掛起。 如果場景具有後臺步驟:它顯示爲已通過。 我想確定哪一步是後臺步驟,因此我可以將其從我的報告中刪除。是否有意義? – Icaroto