2016-10-09 4 views
0

필자는 Weba utomation 프레임 워크를 사용하고 있으며, API 레벨 테스트를위한 몇 가지 시나리오를 추가하고 있습니다. 내 후크에서 "단계 후"나는 API 수준의 테스트를 diffeently 위해 작동하게 싶습니다. 같은 기본 "단계 후"로 이동하십시오. 내가 어떻게 할 수 있니?Specflow를 실행하는 방법 특정 시나리오에 대한 AfterStep 후크

피쳐 레벨에 태그를 추가하고 해당 태그를 사용하려고했지만 이전 사후 단계로 진행됩니다. 원래 애프터

[AfterStep] 
    public static void AfterStep() 
    { 
    } 

[AfterStep("@API1")] 
    public static void AfterSteps() 

    { 

    } 

은 당연히 나는 나의 새로운 애프터 후크는 "Aftersteps"에 메소드 이름을 변경해야합니다.

여기에 무슨 문제가 있습니까?

+0

은 더 설명 할 수 무엇 "AfterStep"후크가 뭐하는거야? 시나리오의 시작 부분에있는'Given'을 사용하거나'Background'에 몇 가지 단계를 추가하는 것이 더 나을 것입니다. –

+0

@GregBurghardt : - 다음 단계는 브라우저를 로그 아웃하고 쿠키와 캐시를 지우는 것입니다. 그러나 API 테스트를 통해 브라우저를 열고 싶지 않습니다. 내 Aftestep에는 브라우저를 호출하는 Pagemanager 클래스가 있습니다. 그래서 기본적으로 API 태그를 사용하여 테스트를 피하기 위해 Afterstep을 기본값으로 설정합니다. 더 자세한 설명이 필요하면 알려주시겠습니까? 나는 또한 Given 또는 Background를 원하지 않는다고 100 % 확신합니다. – vic

답변

1

속성에 @이 필요하지 않습니다.
그래서 그것을 할 것입니다 : 당신이 카테고리 API1가 설정되어있을 때 실행하도록 시킴으로 빨리 애프터을하지 않으려면

[AfterStep("API1")] 
+0

: - 네, 우리가 필요로하지 않는 것을 알아 냈습니다 @. 나는 그것을 제거했습니다. 그러나 내 테스트는 여전히 AftesStep 후크 모두를 통과합니다. API 태그가있는 태그와 태그가없는 태그입니다. 그래서 우리는 어떻게 그것을 해결할 수 있을까? – vic

0

는 다음 코드를 사용

 if(ScenarioContext.Current.ScenarioInfo.Tags.Contains("API1")) 
     { 
      return; 
     }