CollectingTestListener

public class CollectingTestListener
extends Object implements IDisableable , ILogSaverListener , ITestInvocationListener

java.lang.Object
com.android.tradefed.result.CollectingTestListener


ITestInvocationListener , который будет собирать все результаты тестов.

Хотя структуры данных, используемые в этом объекте, являются потокобезопасными, обратные вызовы ITestInvocationListener должны вызываться в правильном порядке.

Краткое содержание

Публичные конструкторы

CollectingTestListener ()

Публичные методы

IBuildInfo getBuildInfo ()

Этот метод устарел. Используйте IBuildInfo из getInvocationContext() .

TestRunResult getCurrentRunResults ()

Получает результаты текущего тестового прогона.

int getExpectedTests ()

Возвращает ожидаемое количество тестов.

IInvocationContext getInvocationContext ()

Верните контекст вызова, который был сообщен через invocationStarted(com.android.tradefed.invoker.IInvocationContext)

getMergedTestRunResults ()

Верните объединенную коллекцию результатов для всех запусков в разных попытках.

IInvocationContext getModuleContextForRunResult (String testRunName)

Возвращает IInvocationContext модуля, связанного с результатами.

MultiMap <String, LogFile > getModuleLogFiles ()

Возвращает копию карты, содержащую все зарегистрированные файлы, связанные с модулем.

MultiMap <String, LogFile > getNonAssociatedLogFiles ()

Возвращает копию карты, содержащую все зарегистрированные файлы, не связанные с тестовым запуском или модулем.

int getNumAllFailedTestRuns ()

Возвращает общее количество тестовых запусков в состоянии отказа.

int getNumAllFailedTests ()

Возвращает общее количество тестов в состоянии неудачи (только неудачные, неудачные допущения не учитываются).

int getNumTestsInState ( TestStatus status)

Возвращает количество тестов в заданном состоянии для этого запуска.

int getNumTestsInState ( TestResult.TestStatus ddmlibStatus)

Для совместимости со старым типом статуса

int getNumTotalTests ()

Возвращает общее количество завершенных тестов для всех запусков.

IBuildInfo getPrimaryBuildInfo ()

Верните основную информацию о сборке, которая была сообщена через invocationStarted(com.android.tradefed.invoker.IInvocationContext) .

getRunResults ()

Этот метод устарел. Используйте getMergedTestRunResults()

TestRunResult getTestRunAtAttempt (String testRunName, int attempt)

Верните TestRunResult для одной попытки.

int getTestRunAttemptCount (String testRunName)

Возвращает количество попыток для заданного имени тестового запуска.

getTestRunAttempts (String testRunName)

Получает все попытки TestRunResult заданного тестового запуска.

getTestRunForAttempts (int attempt)

Получает все результаты для заданной попытки.

getTestRunNames ()

Верните все имена для всех тестовых запусков.

boolean hasFailedTests ()

Возвращает, если вызов имел какие-либо неудачные тесты или тесты на предположение, не прошедшие проверку.

boolean hasTestRunResultsForName (String testRunName)

Возвращает, дало ли заданное имя тестового запуска какие-либо результаты.

void invocationEnded (long elapsedTime)

Сообщает, что вызов завершен либо успешно, либо из-за какой-либо ошибки.

void invocationFailed (Throwable cause)

Сообщает о неполном вызове из-за какой-то ошибки.

void invocationSkipped ( SkipReason reason)

Сообщает о пропущенном вызове

void invocationStarted ( IInvocationContext context)

Сообщает о начале вызова теста.

boolean isDisabled ()

Возвращает True, если весь объект отключен (пропустить как настройку, так и демонтаж).

void logAssociation (String dataName, LogFile logFile)

В некоторых случаях журнал должен быть тесно связан с тестовыми случаями, но возможность сделать это в прямом обратном вызове testLogSaved(String, com.android.tradefed.result.LogDataType, com.android.tradefed.result.InputStreamSource, com.android.tradefed.result.LogFile) невозможна.

void setBuildInfo ( IBuildInfo buildInfo)

Этот метод устарел. Он больше не нужен для тестирования.

void setDisable (boolean isDisabled)

Устанавливает, следует ли отключать объект.

void setMergeStrategy ( MergeStrategy strategy)

Задает MergeStrategy , используемую при объединении результатов.

void testAssumptionFailure ( TestDescription test, String trace)

Вызывается, когда атомарный тест сигнализирует, что он предполагает ложное условие.

void testAssumptionFailure ( TestDescription test, FailureDescription failure)

Вызывается, когда атомарный тест сигнализирует, что он предполагает ложное условие.

void testEnded ( TestDescription test, long endTime, testMetrics)

Альтернатива ERROR(/#testEnded(com.android.tradefed.result.TestDescription,Map)) где мы можем напрямую указать время окончания.

void 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)

Сообщается об окончании тестового прогона.

void testRunFailed ( FailureDescription failure)

Сообщается, что тестовый запуск не был завершен из-за сбоя, описанного FailureDescription .

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 testSkipped ( TestDescription test, SkipReason reason)

Вызывается, когда тест пропущен и не выполнен по причине, которая обычно не ожидается.

void testStarted ( TestDescription test, long startTime)

Альтернатива testStarted(com.android.tradefed.result.TestDescription) , где мы также указываем, когда был запущен тест, в сочетании с ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) для точного измерения.

void testStarted ( TestDescription test)

Сообщает о начале отдельного тестового случая.

Защищенные методы

final void clearModuleLogFiles ()

Позволяет очистить файл модуля, чтобы избежать их слишком долгого хранения.

final void clearResultsForName (String testRunName)

Позволяет очистить результаты для заданного имени запуска.

final void clearTestRunResults ()

Позволяет удалить все результаты тестовых запусков, чтобы избежать их хранения слишком долго.

void setIsAggregrateMetrics (boolean aggregate)

Включить/выключить опцию «агрегированные показатели»

Публичные конструкторы

CollectingTestListener

public CollectingTestListener ()

Публичные методы

получитьBuildInfo

public IBuildInfo getBuildInfo ()

Этот метод устарел.
полагаемся на IBuildInfo из getInvocationContext() .

Возвращает информацию о сборке.

Возврат
IBuildInfo

получитьCurrentRunResults

public TestRunResult getCurrentRunResults ()

Получает результаты текущего тестового прогона.

Обратите внимание, что результаты могут быть неполными. Рекомендуется проверить значение TestRunResult.isRunComplete() и/или (@link TestRunResult#isRunFailure()}, если это необходимо, перед обработкой результатов.

Возврат
TestRunResult TestRunResult представляет данные, собранные во время последнего тестового запуска

getExpectedTests

public int getExpectedTests ()

Возвращает ожидаемое количество тестов. Может отличаться от getNumTotalTests() если некоторые тесты не были выполнены.

Возврат
int

получитьInvocationContext

public IInvocationContext getInvocationContext ()

Верните контекст вызова, который был сообщен через invocationStarted(com.android.tradefed.invoker.IInvocationContext)

Возврат
IInvocationContext

getMergedTestRunResults

public  getMergedTestRunResults ()

Верните объединенную коллекцию результатов для всех запусков в разных попытках.

При наличии нескольких результатов все тестовые запуски объединяются, при этом последний результат перезаписывает результаты предыдущих запусков. Тестовые запуски упорядочены по номеру попытки.

Метрики для одной попытки будут объединены на основе настроек, заданных aggregate-metrics . Итоговыми будут метрики последней попытки.

Возврат

получитьModuleContextForRunResult

public IInvocationContext getModuleContextForRunResult (String testRunName)

Возвращает IInvocationContext модуля, связанного с результатами.

Параметры
testRunName String : Имя, заданное { testRunStarted(String, int) .

Возврат
IInvocationContext IInvocationContext модуля для заданного имени тестового прогона null если для этого имени нет результатов.

получитьModuleLogFiles

public MultiMap<String, LogFile> getModuleLogFiles ()

Возвращает копию карты, содержащую все зарегистрированные файлы, связанные с модулем.

Возврат
MultiMap <String, LogFile >

получитьNonAssociatedLogFiles

public MultiMap<String, LogFile> getNonAssociatedLogFiles ()

Возвращает копию карты, содержащую все зарегистрированные файлы, не связанные с тестовым запуском или модулем.

Возврат
MultiMap <String, LogFile >

getNumAllFailedTestRuns

public int getNumAllFailedTestRuns ()

Возвращает общее количество тестовых запусков в состоянии отказа.

Возврат
int

получитьNumAllFailedTests

public int getNumAllFailedTests ()

Возвращает общее количество тестов в состоянии неудачи (только неудачные, неудачные допущения не учитываются).

Возврат
int

получитьNumTestsInState

public int getNumTestsInState (TestStatus status)

Возвращает количество тестов в заданном состоянии для этого запуска.

Параметры
status TestStatus

Возврат
int

получитьNumTestsInState

public int getNumTestsInState (TestResult.TestStatus ddmlibStatus)

Для совместимости со старым типом статуса

Параметры
ddmlibStatus TestResult.TestStatus

Возврат
int

получитьNumTotalTests

public int getNumTotalTests ()

Возвращает общее количество завершенных тестов для всех запусков.

Возврат
int

получитьPrimaryBuildInfo

public IBuildInfo getPrimaryBuildInfo ()

Возвращает информацию об основной сборке, полученную через invocationStarted(com.android.tradefed.invoker.IInvocationContext) . Основная сборка — это сборка, возвращаемая первым поставщиком сборки текущей конфигурации. Возвращает значение null, если контекст отсутствует (нет сборки для тестового случая).

Возврат
IBuildInfo

getRunResults

public  getRunResults ()

Этот метод устарел.
Используйте getMergedTestRunResults()

Возвращает результаты всех тестовых запусков.

Возврат

getTestRunAtAttempt

public TestRunResult getTestRunAtAttempt (String testRunName, 
                int attempt)

Верните TestRunResult для одной попытки.

Параметры
testRunName String : Имя, заданное { testRunStarted(String, int) .

attempt int : Идентификатор попытки.

Возврат
TestRunResult TestRunResult для указанного имени и идентификатора попытки или null , если он не существует.

getTestRunAttemptCount

public int getTestRunAttemptCount (String testRunName)

Возвращает количество попыток для заданного имени тестового запуска.

Параметры
testRunName String : Имя, заданное { testRunStarted(String, int) .

Возврат
int

getTestRunAttempts

public  getTestRunAttempts (String testRunName)

Получает все попытки TestRunResult заданного тестового запуска.

Параметры
testRunName String : Имя, заданное { testRunStarted(String, int) .

Возврат
Все TestRunResult для данного тестового прогона, упорядоченные по попыткам.

getTestRunForAttempts

public  getTestRunForAttempts (int attempt)

Получает все результаты для заданной попытки.

Параметры
attempt int : Попытка, для которой мы хотим получить результаты.

Возврат
Все TestRunResult для данной попытки.

getTestRunNames

public  getTestRunNames ()

Верните все имена для всех тестовых запусков.

Эти тестовые запуски могли быть выполнены несколько раз с разными попытками.

Возврат

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 : прошедшее время вызова в мс

вызов не удался

public void invocationFailed (Throwable cause)

Сообщает о неполном вызове из-за какой-то ошибки.

Будет автоматически вызываться фреймворком TradeFederation.

Параметры
cause Throwable : причина неудачи, Throwable

вызовПропущен

public void invocationSkipped (SkipReason reason)

Сообщает о пропущенном вызове

Параметры
reason SkipReason

вызовНачался

public void invocationStarted (IInvocationContext context)

Сообщает о начале вызова теста.

Будет автоматически вызываться фреймворком TradeFederation. Для поддержки отчётности по нескольким устройствам необходимо переопределить этот метод.

Параметры
context IInvocationContext : информация о вызове

isDisabled

public boolean isDisabled ()

Возвращает True, если весь объект отключен (пропускаются как настройка, так и демонтаж). В противном случае — False.

Возврат
boolean

logAssociation

public void logAssociation (String dataName, 
                LogFile 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

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                String trace)

Вызывается, когда атомарный тест сигнализирует, что он предполагает ложное условие.

Параметры
test TestDescription : идентифицирует тест

trace String : трассировка стека отказа

testAssumptionFailure

public void testAssumptionFailure (TestDescription test, 
                FailureDescription failure)

Вызывается, когда атомарный тест сигнализирует, что он предполагает ложное условие.

Параметры
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) выданных метрик

testFailed

public void testFailed (TestDescription test, 
                FailureDescription failure)

Сообщает о неудачном завершении отдельного тестового случая.

Будет вызван между testStarted и testEnded.

Параметры
test TestDescription : идентифицирует тест

failure FailureDescription : FailureDescription , описывающее сбой и его контекст.

testFailed

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 ()

Сообщает об окончании выполнения модуля.

testModuleStarted

public void testModuleStarted (IInvocationContext moduleContext)

Сообщает о начале выполнения модуля. Этот обратный вызов связан с testModuleEnded() и не является обязательным в последовательности. Он используется только во время выполнения, использующего модули: исполнители на основе наборов.

Параметры
moduleContext IInvocationContext : IInvocationContext модуля.

testRunEnded

public void testRunEnded (long elapsedTime, 
                 runMetrics)

Сообщается об окончании тестового прогона.

Параметры
elapsedTime long : устройство сообщило прошедшее время в миллисекундах

runMetrics : пары «ключ-значение», сообщаемые в конце тестового прогона

testRunFailed

public void testRunFailed (FailureDescription failure)

Сообщается, что тестовый запуск не был завершен из-за сбоя, описанного FailureDescription .

Параметры
failure FailureDescription : FailureDescription , описывающее сбой и его контекст.

testRunFailed

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, выполняемые несколько раз. Попытка (temptNumber) имеет индекс 0 и должна увеличиваться при каждом новом запуске. Например, тест повторяется 3 раза, всего должно быть 4 запуска с одним и тем же runName, а attemptNumber находится в диапазоне от 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, выполняемые несколько раз. Попытка (temptNumber) имеет индекс 0 и должна увеличиваться при каждом новом запуске. Например, тест повторяется 3 раза, всего должно быть 4 запуска с одним и тем же runName, а attemptNumber находится в диапазоне от 0 до 3.

startTime long : время начала выполнения, измеренное с помощью System.currentTimeMillis()

testRunStopped

public void testRunStopped (long elapsedTime)

Сообщает, что тестовый запуск был остановлен до завершения по запросу пользователя.

TODO: в настоящее время не используется, рассмотрите возможность удаления

Параметры
elapsedTime long : устройство сообщило прошедшее время в миллисекундах

тестПропущен

public void testSkipped (TestDescription test, 
                SkipReason reason)

Вызывается, когда тест пропущен и не выполнен по причине, которая обычно не ожидается. Эти тесты будут повторно выполнены, чтобы попытаться добиться корректного выполнения.

Параметры
test TestDescription : идентифицирует тест

reason SkipReason : SkipReason

тест начат

public void testStarted (TestDescription test, 
                long startTime)

Альтернатива testStarted(com.android.tradefed.result.TestDescription) , где мы также указываем, когда был запущен тест, в сочетании с ERROR(/#testEnded(com.android.tradefed.result.TestDescription,long,Map)) для точного измерения.

Параметры
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

clearTestRunResults

protected final void clearTestRunResults ()

Позволяет удалить все результаты тестовых запусков, чтобы избежать их хранения слишком долго.

setIsAggregateMetrics

protected void setIsAggregrateMetrics (boolean aggregate)

Включить/выключить опцию «агрегированные показатели»

Параметры
aggregate boolean