이 페이지에서는 새 결과 보고자를 구현하여 테스트에 맞게 구성하는 기본적인 방법을 설명합니다.
핵심 인터페이스
Tradefed에서 새 결과 보고자를 정의하려면 클래스가 호출의 여러 단계를 수신하고 처리할 수 있게 해주는 ITestInvocationListener
를 구현해야 합니다.
invocationStarted
invocationEnded
invocationFailed
결과 보고자는 각 테스트 실행의 여러 단계 또한 처리합니다.
testRunStarted
testStarted
testFailed
또는testIgnored
testEnded
testRunFailed
testRunEnded
이러한 모든 이벤트를 감안했을 때, 다음과 같은 두 가지 유형의 결과 보고자가 있습니다.
- 온전한 최종 결과를 보고하는 일에만 관심이 있음
- 부분 결과에 대한 작업을 수행
온전한 최종 결과를 보고하는 결과 보고자
결과를 수신하는 외부 서비스와 상호작용하는 일에 관해서는 이 유형이 가장 일반적인 경우입니다. 보고자는 단순히 결과를 수신하여 누적한 다음 invocationEnded
시 모두 결과 종료점으로 전송합니다.
이러한 보고자는 invocationEnded
까지 결과 저장 및 보관의 재구현을 방지하기 위해 기본 인터페이스 대신 CollectingTestListener
를 확장하는 것이 좋습니다.
부분 결과를 보고하는 결과 보고자
이 유형은 보통 결과의 스트리밍 접근 방식 즉, 수신된 결과가 다른 위치로 즉시 푸시되는 경우에 사용됩니다. 예를 들어 콘솔에 결과를 로깅하는 보고자가 이 유형이 됩니다.
이 유형은 이벤트에 어떤 처리 유형이 요구되는지와 관련이 있습니다. 따라서 일반적인 경우에는 기본 인터페이스를 구현하는 것이 좋습니다.
XML 구성
객체 태그는 result_reporter
입니다. 예를 들면 다음과 같습니다.
<result_reporter class="com.android.tradefed.result.ConsoleResultReporter">
<option name="suppress-passed-tests" value="true"/>
</result_reporter>