testNg를 사용하여 테스트 한 결과 테스트가 실패 할 때마다 db에 실패 수명을 저장합니다. 실패한 모든 사례를 다시 실행하는 것 이외의 다른 방법이 있습니까? 예를 들면 다음과 같습니다. 실패 연령이 1 인 경우에만 다시 실행합니다. after 메서드에서 특정 테스트를 다시 실행하도록 결정할 수 있어야합니다.테스트 실행 실패 다른 조건에서 테스트 실패
0
A
답변
0
네, 유행에 관한 일종의 이야기입니다.
먼저 클래스가 IHookable
인터페이스를 구현하도록함으로써 시작하십시오. 그러면 TestNG는 항상 테스트가 실행될 run()
메소드를 실행하게됩니다. 따라서이 run()
구현에서는 기본적으로 DB에서 테스트 메소드를 쿼리하여 장애 발생 연령이 재실행을 보증하는지 여부를 확인한 다음 테스트에 실패합니다. 그런 다음 재시도 분석기를 테스트에 연결하면 오류가 다시 발생할 수 있습니다.
해야합니다.
다음은 이름을 기준으로 테스트 방법에 조건부로 실패했음을 보여주는 샘플입니다. 그 조건부 검사는 장애 연령에 따라 결정하도록 향상시킬 수 있습니다. 여기
import org.testng.IHookCallBack;
import org.testng.IHookable;
import org.testng.ITestResult;
import org.testng.annotations.Test;
public class TestClassSample implements IHookable {
@Override
public void run(IHookCallBack callBack, ITestResult testResult) {
if ("testMethod1".equals(testResult.getMethod().getMethodName())) {
testResult.setStatus(ITestResult.FAILURE);
} else {
callBack.runTestMethod(testResult);
}
}
@Test
public void testMethod1() {
System.err.println("testMethod1()");
}
@Test
public void testMethod2() {
System.err.println("testMethod2()");
}
}
출력입니다 :
testMethod2()
===============================================
Default Suite
Total tests run: 2, Failures: 1, Skips: 0
===============================================
관련 문제
- 1. 셀레늄 그리드 : 테스트 실패
- 2. 검도 그리드 테스트 실패
- 3. phpunit에서 테스트 실패 반복
- 4. PHP 테스트 실패
- 5. 로드 테스트 오류율 실패
- 6. 무스 테스트 실패
- 7. Spring XD - 테스트 실패
- 8. Jasmine 테스트 자동화 실패
- 9. 플라스크 테스트 계속 실패
- 10. 실패 및 실행되지 않은 테스트 다시 실행
- 11. ravendb 단위 테스트 실패
- 12. Mohca 테스트 실패
- 13. 레일 테스트 실패
- 14. Xcodebuild 테스트 작동 실패
- 15. 재스민 테스트 실패
- 16. SPF 레코드 실패 테스트
- 17. 실패 오이 테스트 3.2.11
- 18. RubyOnRails 레이크 테스트 실패
- 19. Hibernate 테스트 케이스 실패
- 20. MSTest ExpectedException 테스트 실패
- 21. 셀레늄 JUnit 테스트 실패
- 22. RSpec에 실패 테스트 FactoryGirl
- 23. Jenkins의 셀렌 테스트 실패
- 24. 간단한 RSpec에 테스트 실패
- 25. rspec 테스트 리디렉션 실패
- 26. MongoDB 인스턴스 실패 테스트
- 27. 테스트 실패 다음 성공합니다.
- 28. 예제 HtmlUnit 테스트 실패
- 29. Django 테스트 로그인 실패
- 30. 업그레이드 2.0 코드 테스트/테스트 실패
이 멋진,하지만 난 시험 전에 결정하는 것), 첫 번째 실행 한 후이 실행합니다 (테스트를 실행할 수있는 무언가를 찾고 있었다, 나는이었다 테스트가 실패한 후 다시 트리거 할 수있는 무언가를 찾으십시오. –
@FrancisChristopher - 내가 공유 한 샘플이이를 수행 할 수 있어야합니다. 'callBack()'을 통해 테스트 메소드를 호출 한 후 테스트 상태를 검사하고 실패했는지 여부를 확인한 후에 기본적으로 테스트 상태의 변경을 이동해야합니다. 그러나 재시도 메커니즘은 여전히 실행됩니다. 그러나 설정할 수있는 ITestResult 특성을 검토하여 퍼지 할 수 있어야합니다. –
Krishnan, 고마워, 내가 말했듯이 할 수 있었다. –