이 섹션에서는 새 결과 리포터를 구현하고 테스트용으로 구성하는 방법에 대한 기본 사항을 설명합니다.
핵심 인터페이스
Tradefed에서 새로운 결과 리포터를 정의하려면 클래스가 다양한 호출 단계를 수신하고 처리할 수 있는 ITestInvocationListener 인터페이스를 구현해야 합니다.
- 호출 시작됨
- 호출종료
- 호출 실패
결과 보고자는 또한 각 테스트 실행의 다양한 단계를 처리합니다.
- 테스트 실행 시작됨
- 테스트 시작됨
- 테스트실패/테스트무시
- 테스트 종료
- 테스트 실행 실패
- 테스트 실행 종료
이러한 모든 이벤트를 고려할 때 결과 보고자에는 다음과 같은 두 가지 주요 유형이 있습니다.
- 최종 완전한 결과를 보고하는 데만 신경을 쓰십시오.
- 부분적인 결과에 대해 조치를 취하십시오.
최종 완성 결과를 보고하는 Result Reporter
이 유형은 결과를 수신하는 외부 서비스와 상호 작용할 때 가장 일반적인 경우입니다. 리포터는 단순히 결과를 수신 및 누적한 다음 invocationEnded
시 결과 끝점으로 모두 보냅니다.
이러한 보고자는 invocationEnded
까지 결과를 저장 및 저장하는 것을 다시 구현하지 않도록 기본 인터페이스 대신 CollectingTestListener
를 확장하는 것이 좋습니다.
부분적인 결과를 보고하는 Result Reporter
이 유형은 일반적으로 결과가 수신되어 즉시 다른 위치로 푸시될 때 결과의 스트리밍 접근 방식에 사용됩니다. 예를 들어 결과를 콘솔에 기록하는 리포터는 이러한 유형입니다.
이 유형은 이벤트에 필요한 처리 유형에 따라 다르므로 기본 인터페이스를 구현하는 것이 일반적으로 권장되는 방법입니다.
XML 구성
개체 태그는 result_reporter
가 됩니다. 예를 들어:
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>