2017-03-23 1 views
0

ScenarioStepContext.Current.StepInfo을 사용하여 specflow에서 단계 정보를 얻을 수 있다는 것을 알고 있지만이 단계가 Background 블록 안에 있는지 여부는 반환되지 않습니다.Specflow에서 백그라운드 단계를 식별하는 방법?

백그라운드 내 단계 또는 시나리오/시나리오 개요가 있는지 확인할 방법이 있습니까?

감사합니다.

+0

이 정보를 필요로하는 이유는 무엇입니까? –

+0

죄송합니다. 언급 했어야합니다. Specresults를 기반으로 보고서를 작성하고 있지만 시나리오의 일부로 백그라운드 단계를 고려하기 때문에 전달 된대로 정의되지 않은 테스트 (단계가 아직없고 시나리오 만 생성 됨)가 표시됩니다. 따라서 기본적으로이 문제가 발생합니다. 시나리오에 백그라운드 단계가없는 경우 보류 중으로 표시됩니다. 시나리오에 백그라운드 단계가있는 경우 : 통과 한 것으로 표시됩니다. 어떤 단계가 배경 단계인지 식별하여 보고서에서 제외 할 수 있습니다. 그것은 의미가 있습니까? – Icaroto

답변

1

현재이 정보를 StepInfo에 가져올 방법이 없습니다.

하지만이 정보를 얻을 수있는 방법은 거의 없습니다. StackTrace를보고 FeatureBackground()라는 메서드를 검색해야합니다. 이 메소드는 생성 된 코드의 백그라운드에서 오는 메소드입니다.

작업 할 것이 코드 :

var stackTrace = new System.Diagnostics.StackTrace(); 
var stackFrames = stackTrace.GetFrames(); 
bool isBackground = stackFrames.Where(x => x.GetMethod().Name == "FeatureBackground").Any(); 
+0

죄송합니다. 완벽하게 일했습니다! 고맙습니다! – Icaroto