2013-05-24 4 views
0

IInvokedMethodListener2의 beforeInvocation 메서드에서 실행중인 테스트를 "중지"할 수 있습니까?beforeInvocation 메서드에서 Testng 테스트를 중지하십시오.

beforeInvocation에서 "throw new SkipException"으로 부드럽게 건너 뜁니다. 그러나 "하드 스킵"을 수행해야합니다. 실행 추적없이 테스트를 중단하십시오.

먼저 특정 테스트 메소드의 주석을 확인한 다음 해당 특정 테스트를 실행하거나 실행하지 않아야합니다. IInvokedMethodListener2.beforeInvocation() 새로운 SkipException 투척

감사 ...

답변

1

실패한 테스트에 따라 테스트와 같은 결과 (리포트)를 산출한다 : 시험 방법은 보고서로 만들고 스킵으로서 정식으로 표시된다. 따라서 테스트 방법은 실행되지 않습니다.

힘들이지 않은 경우 건너 뛰지 말고 테스트 제외를 권합니다. 사용자 지정 포함 및 제외를 실행하려면

BeanShell expression feature이 있습니다.

또한, IAnnotationTransformer는 사용하지 않도록 ("사용 가능 = 거짓"속성과 동일) 런타임시 시험 방법을 허용 것, 가장 간단한 예는 인 :

public class SkippingTransformer implements IAnnotationTransformer { 
    @Override 
    public void transform(ITestAnnotation ita, Class type, Constructor c, Method method) { 
     if(method.getName().startsWith("skipMe")) { 
      ita.setEnabled(false); 
     } 
    } 
} 

이 완전히 시험 방법을 선택합니다 (즉 , 테스트 횟수 감소). 그러나 대부분의 경우 종속적 방법의 체인을 비활성화해야합니다. 고려해야 할 다른 측면이있을 수 있습니다.

관련 문제