새 결과 보고자 만들기

이 섹션에서는 새 결과 리포터를 구현하고 테스트용으로 구성하는 방법에 대한 기본 사항을 설명합니다.

핵심 인터페이스

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>