수집 테스트 리스너
public class CollectingTestListener
extends Object
implements ITestInvocationListener , ILogSaverListener , IDisableable
java.lang.객체 | |
↳ | com.android.tradefed.result.CollectingTestListener |
모든 테스트 결과를 수집할 ITestInvocationListener
입니다.
이 개체에 사용된 데이터 구조는 스레드로부터 안전하지만 ITestInvocationListener
콜백은 올바른 순서로 호출되어야 합니다.
요약
공개 생성자 | |
---|---|
CollectingTestListener () |
공개 방법 | |
---|---|
IBuildInfo | getBuildInfo () 이 방법은 더 이상 사용되지 않습니다. |
TestRunResult | getCurrentRunResults () 현재 테스트 실행에 대한 결과를 가져옵니다. |
int | getExpectedTests () 예상 테스트 수를 반환합니다. |
IInvocationContext | getInvocationContext () |
getMergedTestRunResults () 서로 다른 시도에서 모든 실행에 대해 병합된 결과 모음을 반환합니다. | |
IInvocationContext | getModuleContextForRunResult (String testRunName) 결과와 관련된 모듈의 |
MultiMap <String, LogFile > | getModuleLogFiles () 모듈과 관련된 모든 로그 파일을 포함하는 맵의 복사본을 반환합니다. |
MultiMap <String, LogFile > | getNonAssociatedLogFiles () 테스트 실행 또는 모듈과 관련되지 않은 모든 로그 파일을 포함하는 맵의 복사본을 반환합니다. |
int | getNumAllFailedTestRuns () 실패 상태의 총 테스트 실행 수를 반환합니다. |
int | getNumAllFailedTests () 실패 상태의 총 테스트 수를 반환합니다(실패한 경우만, 가정 실패는 포함되지 않음). |
int | getNumTestsInState (TestResult.TestStatus status) 이 실행에 대해 지정된 상태의 테스트 수를 반환합니다. |
int | getNumTotalTests () 모든 실행에 대한 전체 테스트의 총 수를 반환합니다. |
IBuildInfo | getPrimaryBuildInfo () |
getRunResults () 이 방법은 더 이상 사용되지 않습니다. | |
TestRunResult | getTestRunAtAttempt (String testRunName, int attempt) 단일 시도에 대해 |
int | getTestRunAttemptCount (String testRunName) 지정된 테스트 실행 이름에 대한 시도 횟수를 반환합니다. |
getTestRunAttempts (String testRunName) 지정된 테스트 실행의 | |
getTestRunForAttempts (int attempt) 주어진 시도에 대한 모든 결과를 가져옵니다. | |
getTestRunNames () 모든 테스트 실행에 대한 모든 이름을 반환합니다. | |
boolean | hasFailedTests () 호출에 실패했거나 실패한 가정 테스트가 있는지 반환합니다. |
boolean | hasTestRunResultsForName (String testRunName) 지정된 테스트 실행 이름에 결과가 있는지 여부를 반환합니다. |
void | invocationEnded (long elapsedTime) 성공적으로 또는 일부 오류 조건으로 인해 호출이 종료되었음을 보고합니다. |
void | invocationFailed (Throwable cause) 일부 오류 조건으로 인해 불완전한 호출을 보고합니다. |
void | invocationStarted ( IInvocationContext context) 테스트 호출의 시작을 보고합니다. |
boolean | isDisabled () 전체 개체가 비활성화된 경우 True를 반환합니다(설정 및 해제 모두 건너뛰기). |
void | logAssociation (String dataName, LogFile logFile) 경우에 따라 로그는 테스트 사례와 강력하게 연결되어야 하지만 직접 |
void | setBuildInfo ( IBuildInfo buildInfo) 이 방법은 더 이상 사용되지 않습니다. 더 이상 테스트에 필요하지 않습니다. |
void | setDisable (boolean isDisabled) 개체를 비활성화해야 하는지 여부를 설정합니다. |
void | setMergeStrategy ( MergeStrategy strategy) 결과를 병합할 때 사용할 |
void | testAssumptionFailure ( TestDescription test, String trace) false인 조건을 가정한다고 원자성 테스트 플래그가 표시될 때 호출됩니다. |
void | testAssumptionFailure ( TestDescription test, FailureDescription failure) false인 조건을 가정한다고 원자성 테스트 플래그가 표시될 때 호출됩니다. |
void | testEnded ( TestDescription test, long endTime, testMetrics) testEnded ( TestDescription test, long endTime, testMetrics) |
void | testEnded ( TestDescription test, testMetrics) testEnded ( TestDescription test, testMetrics) 개별 테스트 사례의 실행 종료를 보고합니다. |
void | testFailed ( TestDescription test, FailureDescription failure) 개별 테스트 사례의 실패를 보고합니다. |
void | testFailed ( TestDescription test, String trace) 개별 테스트 사례의 실패를 보고합니다. |
void | testIgnored ( TestDescription test) 일반적으로 테스트 메서드가 org.junit.Ignore로 주석 처리되기 때문에 테스트가 실행되지 않을 때 호출됩니다. |
void | testModuleEnded () 모듈 실행의 끝을 보고합니다. |
void | testModuleStarted ( IInvocationContext moduleContext) 실행 중인 모듈의 시작을 보고합니다. |
void | testRunEnded (long elapsedTime, runMetrics) testRunEnded (long elapsedTime, runMetrics) 테스트 실행 종료를 보고합니다. |
void | testRunFailed ( FailureDescription failure) |
void | testRunFailed (String errorMessage) 치명적인 오류로 인해 테스트 실행을 완료하지 못한 보고서입니다. |
void | testRunStarted (String name, int numTests, int attemptNumber) 테스트 실행의 시작을 보고합니다. |
void | testRunStarted (String name, int numTests) 테스트 실행의 시작을 보고합니다. |
void | testRunStarted (String name, int numTests, int attemptNumber, long startTime) 테스트 실행의 시작을 보고합니다. |
void | testRunStopped (long elapsedTime) 사용자 요청으로 인해 테스트 실행이 완료되기 전에 중지되었음을 보고합니다. |
void | testStarted ( TestDescription test, long startTime) 정확한 측정을 위해 |
void | testStarted ( TestDescription test) 개별 테스트 사례의 시작을 보고합니다. |
보호된 메서드 | |
---|---|
final void | clearModuleLogFiles () 모듈 파일을 정리할 수 있으므로 모듈 파일을 너무 오래 가지고 다니는 것을 피할 수 있습니다. |
final void | clearResultsForName (String testRunName) 지정된 실행 이름에 대한 결과를 지울 수 있습니다. |
void | setIsAggregrateMetrics (boolean aggregate) '집계 측정항목' 옵션 전환 |
공개 생성자
수집 테스트 리스너
public CollectingTestListener ()
공개 방법
getBuildInfo
public IBuildInfo getBuildInfo ()
이 방법은 더 이상 사용되지 않습니다.
getInvocationContext()
의 IBuildInfo
에 의존합니다.
빌드 정보를 반환합니다.
보고 | |
---|---|
IBuildInfo |
getCurrentRunResults
public TestRunResult getCurrentRunResults ()
현재 테스트 실행에 대한 결과를 가져옵니다.
결과가 완전하지 않을 수 있습니다. 결과를 처리하기 전에 TestRunResult.isRunComplete()
및/또는 (@link TestRunResult#isRunFailure()} 값을 적절하게 테스트하는 것이 좋습니다.
보고 | |
---|---|
TestRunResult | 마지막 테스트 실행 중에 수집된 데이터를 나타내는 TestRunResult |
getExpectedTests
public int getExpectedTests ()
예상 테스트 수를 반환합니다. 일부 테스트가 실행되지 않은 경우 getNumTotalTests()
와 다를 수 있습니다.
보고 | |
---|---|
int |
getInvocationContext
public IInvocationContext getInvocationContext ()
invocationStarted(com.android.tradefed.invoker.IInvocationContext)
통해 보고된 호출 컨텍스트를 반환합니다.
보고 | |
---|---|
IInvocationContext |
getMergedTestRunResults
publicgetMergedTestRunResults ()
서로 다른 시도에서 모든 실행에 대해 병합된 결과 모음을 반환합니다.
결과가 여러 개인 경우 각 테스트 실행이 병합되어 최신 테스트 결과가 이전 실행의 테스트 결과를 덮어씁니다. 테스트 실행은 시도 번호별로 정렬됩니다.
동일한 시도에 대한 측정항목은 aggregate-metrics
에서 설정한 기본 설정에 따라 병합됩니다. 최종 메트릭은 마지막 시도의 메트릭이 됩니다.
보고 | |
---|---|
getModuleContextForRunResult
public IInvocationContext getModuleContextForRunResult (String testRunName)
결과와 관련된 모듈의 IInvocationContext
를 반환합니다.
매개변수 | |
---|---|
testRunName | String : { testRunStarted(String, int) 에서 지정한 이름입니다. |
보고 | |
---|---|
IInvocationContext | 지정된 테스트 실행 이름에 대한 모듈의 IInvocationContext 는 해당 이름에 대한 결과가 없는 경우 null . |
getModuleLogFiles
public MultiMap<String, LogFile> getModuleLogFiles ()
모듈과 관련된 모든 로그 파일을 포함하는 맵의 복사본을 반환합니다.
보고 | |
---|---|
MultiMap <String, LogFile > |
getNonAssociatedLogFiles
public MultiMap<String, LogFile> getNonAssociatedLogFiles ()
테스트 실행 또는 모듈과 관련되지 않은 모든 로그 파일을 포함하는 맵의 복사본을 반환합니다.
보고 | |
---|---|
MultiMap <String, LogFile > |
getNumAllFailedTestRuns
public int getNumAllFailedTestRuns ()
실패 상태의 총 테스트 실행 수를 반환합니다.
보고 | |
---|---|
int |
getNumAllFailedTests
public int getNumAllFailedTests ()
실패 상태의 총 테스트 수를 반환합니다(실패한 경우만, 가정 실패는 포함되지 않음).
보고 | |
---|---|
int |
getNumTestsInState
public int getNumTestsInState (TestResult.TestStatus status)
이 실행에 대해 지정된 상태의 테스트 수를 반환합니다.
매개변수 | |
---|---|
status | TestResult.TestStatus |
보고 | |
---|---|
int |
getNumTotalTests
public int getNumTotalTests ()
모든 실행에 대한 전체 테스트의 총 수를 반환합니다.
보고 | |
---|---|
int |
getPrimaryBuildInfo
public IBuildInfo getPrimaryBuildInfo ()
invocationStarted(com.android.tradefed.invoker.IInvocationContext)
통해 보고된 기본 빌드 정보를 반환합니다. 기본 빌드는 실행 중인 구성의 첫 번째 빌드 공급자가 반환한 빌드입니다. 컨텍스트가 없는 경우 null을 반환합니다(테스트 사례 빌드 없음).
보고 | |
---|---|
IBuildInfo |
getRunResults
publicgetRunResults ()
이 방법은 더 이상 사용되지 않습니다.
getMergedTestRunResults()
사용
모든 테스트 실행에 대한 결과를 반환합니다.
보고 | |
---|---|
getTestRunAtAttempt
public TestRunResult getTestRunAtAttempt (String testRunName, int attempt)
단일 시도에 대해 TestRunResult
반환합니다.
매개변수 | |
---|---|
testRunName | String : { testRunStarted(String, int) 에서 지정한 이름입니다. |
attempt | int : 시도 ID입니다. |
보고 | |
---|---|
TestRunResult | 지정된 이름 및 시도 ID에 대한 TestRunResult 또는 존재하지 않는 경우 null . |
getTestRunAttemptCount
public int getTestRunAttemptCount (String testRunName)
지정된 테스트 실행 이름에 대한 시도 횟수를 반환합니다.
매개변수 | |
---|---|
testRunName | String : { testRunStarted(String, int) 에서 지정한 이름입니다. |
보고 | |
---|---|
int |
getTestRunAttempts
publicgetTestRunAttempts (String testRunName)
지정된 테스트 실행의 TestRunResult
에 대한 모든 시도를 가져옵니다.
매개변수 | |
---|---|
testRunName | String : { testRunStarted(String, int) 에서 지정한 이름입니다. |
보고 | |
---|---|
주어진 테스트 실행에 대한 모든 TestRunResult (시도순). |
getTestRunForAttempts
publicgetTestRunForAttempts (int attempt)
주어진 시도에 대한 모든 결과를 가져옵니다.
매개변수 | |
---|---|
attempt | int : 결과를 원하는 시도. |
보고 | |
---|---|
주어진 시도에 대한 모든 TestRunResult . |
getTestRunNames
publicgetTestRunNames ()
모든 테스트 실행에 대한 모든 이름을 반환합니다.
이러한 테스트 실행은 다른 시도로 여러 번 실행되었을 수 있습니다.
보고 | |
---|---|
hasFailedTests
public boolean hasFailedTests ()
호출에 실패했거나 실패한 가정 테스트가 있는지 반환합니다.
보고 | |
---|---|
boolean |
hasTestRunResultsForName
public boolean hasTestRunResultsForName (String testRunName)
지정된 테스트 실행 이름에 결과가 있는지 여부를 반환합니다.
매개변수 | |
---|---|
testRunName | String : { testRunStarted(String, int) 에서 지정한 이름입니다. |
보고 | |
---|---|
boolean |
호출 종료됨
public void invocationEnded (long elapsedTime)
성공적으로 또는 일부 오류 조건으로 인해 호출이 종료되었음을 보고합니다.
TradeFederation 프레임워크에 의해 자동으로 호출됩니다.매개변수 | |
---|---|
elapsedTime | long : 호출 경과 시간(ms) |
호출 실패
public void invocationFailed (Throwable cause)
일부 오류 조건으로 인해 불완전한 호출을 보고합니다.
TradeFederation 프레임워크에 의해 자동으로 호출됩니다.매개변수 | |
---|---|
cause | Throwable : 실패의 Throwable 원인 |
호출 시작됨
public void invocationStarted (IInvocationContext context)
테스트 호출의 시작을 보고합니다.
TradeFederation 프레임워크에 의해 자동으로 호출됩니다. 여러 장치 보고를 지원하려면 보고자가 이 방법을 재정의해야 합니다.
매개변수 | |
---|---|
context | IInvocationContext : 호출에 대한 정보 |
비활성화됨
public boolean isDisabled ()
전체 개체가 비활성화된 경우 True를 반환합니다(설정 및 해제 모두 건너뛰기). 그렇지 않으면 거짓입니다.
보고 | |
---|---|
boolean |
로그 연결
public void logAssociation (String dataName, LogFile logFile)
경우에 따라 로그는 테스트 사례와 강력하게 연결되어야 하지만 직접 testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)
에서 그렇게 할 수 있는 기회가 있습니다. testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile)
콜백이 불가능합니다. 따라서 이 콜백을 통해 강력한 연결을 명시적으로 제공할 수 있습니다.
매개변수 | |
---|---|
dataName | String : 데이터의 이름 |
logFile | LogFile : 이전에 기록되었으며 테스트 사례와 연결되어야 하는 LogFile 입니다. |
setBuildInfo
public void setBuildInfo (IBuildInfo buildInfo)
이 방법은 더 이상 사용되지 않습니다.
더 이상 테스트에 필요하지 않습니다.
빌드 정보를 설정합니다. 테스트용으로만 사용해야 합니다.
매개변수 | |
---|---|
buildInfo | IBuildInfo |
setDisable
public void setDisable (boolean isDisabled)
개체를 비활성화해야 하는지 여부를 설정합니다. 비활성화됨은 설정 및 해제 단계를 모두 건너뛰어야 함을 의미합니다. 기본 생성자에서 기본적으로 개체를 비활성화하는 데 사용할 수 있습니다.
매개변수 | |
---|---|
isDisabled | boolean : 객체를 넣어야 하는 상태. |
setMergeStrategy
public void setMergeStrategy (MergeStrategy strategy)
결과를 병합할 때 사용할 MergeStrategy
설정합니다.
매개변수 | |
---|---|
strategy | MergeStrategy |
테스트 가정 실패
public void testAssumptionFailure (TestDescription test, String trace)
false인 조건을 가정한다고 원자성 테스트 플래그가 표시될 때 호출됩니다.
매개변수 | |
---|---|
test | TestDescription : 테스트를 식별합니다. |
trace | String : 실패 스택 추적 |
테스트 가정 실패
public void testAssumptionFailure (TestDescription test, FailureDescription failure)
false인 조건을 가정한다고 원자성 테스트 플래그가 표시될 때 호출됩니다.
매개변수 | |
---|---|
test | TestDescription : 테스트를 식별합니다. |
failure | FailureDescription : 실패 및 해당 컨텍스트를 설명하는 FailureDescription . |
테스트 종료됨
public void testEnded (TestDescription test, long endTime,testMetrics)
ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map))
대신 종료 시간을 직접 지정할 수 있습니다. 정확한 측정을 위해 testStarted(com.android.tradefed.result.TestDescription, long)
와 결합합니다.
매개변수 | |
---|---|
test | TestDescription : 테스트를 식별합니다. |
endTime | long : System.currentTimeMillis() 통해 측정된 테스트 종료 시간 |
testMetrics | ERROR(/Map) |
테스트 종료됨
public void testEnded (TestDescription test,testMetrics)
개별 테스트 사례의 실행 종료를 보고합니다.
testFailed(TestDescription, FailureDescription)
호출되지 않은 경우 이 테스트는 통과되었습니다. 또한 테스트 사례 실행 중에 방출되었을 수 있는 모든 키/값 메트릭을 반환합니다.
매개변수 | |
---|---|
test | TestDescription : 테스트를 식별합니다. |
testMetrics | ERROR(/Map) |
테스트 실패
public void testFailed (TestDescription test, FailureDescription failure)
개별 테스트 사례의 실패를 보고합니다.
testStarted와 testEnded 사이에 호출됩니다.
매개변수 | |
---|---|
test | TestDescription : 테스트를 식별합니다. |
failure | FailureDescription : 실패 및 해당 컨텍스트를 설명하는 FailureDescription . |
테스트 실패
public void testFailed (TestDescription test, String trace)
개별 테스트 사례의 실패를 보고합니다.
testStarted와 testEnded 사이에 호출됩니다.
매개변수 | |
---|---|
test | TestDescription : 테스트를 식별합니다. |
trace | String : 실패 스택 추적 |
테스트무시됨
public void testIgnored (TestDescription test)
일반적으로 테스트 메서드가 org.junit.Ignore로 주석 처리되기 때문에 테스트가 실행되지 않을 때 호출됩니다.
매개변수 | |
---|---|
test | TestDescription : 테스트를 식별합니다. |
testModuleEnded
public void testModuleEnded ()
모듈 실행의 끝을 보고합니다.
testModule시작됨
public void testModuleStarted (IInvocationContext moduleContext)
실행 중인 모듈의 시작을 보고합니다. 이 콜백은 testModuleEnded()
와 연결되며 시퀀스에서 선택 사항입니다. 모듈 기반 러너를 사용하는 실행 중에만 사용됩니다.
매개변수 | |
---|---|
moduleContext | IInvocationContext : 모듈의 IInvocationContext . |
testRunEnded
public void testRunEnded (long elapsedTime,runMetrics)
테스트 실행 종료를 보고합니다. FIXME: 유형이 다른 두 개의 Map<> 인터페이스를 가질 수 없으므로 여기에서 HashMap을 사용해야 합니다.
매개변수 | |
---|---|
elapsedTime | long : 장치에서 보고된 경과 시간(밀리초) |
runMetrics | Metric 사용한 테스트 실행 종료 시 보고된 키-값 쌍입니다. |
테스트 실행 실패
public void testRunFailed (FailureDescription failure)
FailureDescription
에서 설명한 실패로 인해 테스트 실행을 완료하지 못한 것을 보고합니다.
매개변수 | |
---|---|
failure | FailureDescription : 실패 및 해당 컨텍스트를 설명하는 FailureDescription . |
테스트 실행 실패
public void testRunFailed (String errorMessage)
치명적인 오류로 인해 테스트 실행을 완료하지 못한 보고서입니다.
매개변수 | |
---|---|
errorMessage | String : 실행 실패 이유를 설명하는 String 입니다. |
testRunStarted
public void testRunStarted (String name, int numTests, int attemptNumber)
테스트 실행의 시작을 보고합니다.
매개변수 | |
---|---|
name | String : 테스트 실행 이름 |
numTests | int : 테스트 실행의 총 테스트 수 |
attemptNumber | int : 여러 번 실행되는 동일한 runName의 다른 시도를 식별하는 순서 번호입니다. tryNumber는 인덱스가 0이며 새 실행이 발생할 때마다 증가해야 합니다. 예를 들어 테스트가 3번 세부적으로 재시도되고 동일한 runName에서 총 4번의 실행이 있어야 하며 tryNumber는 0에서 3까지입니다. |
testRunStarted
public void testRunStarted (String name, int numTests)
테스트 실행의 시작을 보고합니다.
매개변수 | |
---|---|
name | String : 테스트 실행 이름 |
numTests | int : 테스트 실행의 총 테스트 수 |
testRunStarted
public void testRunStarted (String name, int numTests, int attemptNumber, long startTime)
테스트 실행의 시작을 보고합니다.
매개변수 | |
---|---|
name | String : 테스트 실행 이름 |
numTests | int : 테스트 실행의 총 테스트 수 |
attemptNumber | int : 여러 번 실행되는 동일한 runName의 다른 시도를 식별하는 순서 번호입니다. tryNumber는 인덱스가 0이며 새 실행이 발생할 때마다 증가해야 합니다. 예를 들어 테스트가 3번 세부적으로 재시도되고 동일한 runName에서 총 4번의 실행이 있어야 하며 tryNumber는 0에서 3까지입니다. |
startTime | long : System.currentTimeMillis() 통해 측정된 실행이 시작된 시간 |
testRunStopped
public void testRunStopped (long elapsedTime)
사용자 요청으로 인해 테스트 실행이 완료되기 전에 중지되었음을 보고합니다.
TODO: 현재 사용하지 않음, 삭제 고려
매개변수 | |
---|---|
elapsedTime | long : 장치에서 보고된 경과 시간(밀리초) |
테스트 시작됨
public void testStarted (TestDescription test, long startTime)
정확한 측정을 위해 ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map))
와 결합하여 테스트가 시작된 시기도 지정하는 testStarted(com.android.tradefed.result.TestDescription)
의 대안 .
매개변수 | |
---|---|
test | TestDescription : 테스트를 식별합니다. |
startTime | long : System.currentTimeMillis() 통해 측정된 테스트가 시작된 시간 |
테스트 시작됨
public void testStarted (TestDescription test)
개별 테스트 사례의 시작을 보고합니다. 이전 인터페이스는 가능할 때마다 testStarted(com.android.tradefed.result.TestDescription)
사용해야 합니다.
매개변수 | |
---|---|
test | TestDescription : 테스트를 식별합니다. |
보호된 메서드
clearModuleLogFiles
protected final void clearModuleLogFiles ()
모듈 파일을 정리할 수 있으므로 모듈 파일을 너무 오래 가지고 다니는 것을 피할 수 있습니다.
clearResultsForName
protected final void clearResultsForName (String testRunName)
지정된 실행 이름에 대한 결과를 지울 수 있습니다. 결과 집계와 같은 일부 경우에만 사용해야 합니다.
매개변수 | |
---|---|
testRunName | String |
setIsAggregrateMetrics
protected void setIsAggregrateMetrics (boolean aggregate)
'집계 측정항목' 옵션 전환
매개변수 | |
---|---|
aggregate | boolean |