Сбор тестового прослушивателя
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) Вызывается, когда атомарный тест отмечает, что он принимает условие, которое является ложным. |
void | testAssumptionFailure ( TestDescription test, FailureDescription failure) Вызывается, когда атомарный тест отмечает, что он принимает условие, которое является ложным. |
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 ()
Этот метод устарел.
полагаться на IBuildInfo
из getInvocationContext()
.
Возвращает информацию о сборке.
Возвращает | |
---|---|
IBuildInfo |
getCurrentRunResults
public TestRunResult getCurrentRunResults ()
Получает результаты текущего запуска теста.
Обратите внимание, что результаты могут быть неполными. Перед обработкой результатов рекомендуется проверить значение TestRunResult.isRunComplete()
и/или (@link TestRunResult#isRunFailure()}.
Возвращает | |
---|---|
TestRunResult | TestRunResult , представляющий данные, собранные во время последнего запуска теста |
получитьожидаемые тесты
public int getExpectedTests ()
Возвращает количество ожидаемых тестов. Может отличаться от getNumTotalTests()
если некоторые тесты не выполнялись.
Возвращает | |
---|---|
int |
getInvocationContext
public IInvocationContext getInvocationContext ()
Вернуть контекст вызова, о котором сообщалось через invocationStarted(com.android.tradefed.invoker.IInvocationContext)
Возвращает | |
---|---|
IInvocationContext |
GetMergeTestRunResults
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 |
жетнумтестсинстате
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()
Возвращает результаты для всех тестовых прогонов.
Возвращает | |
---|---|
getTestRunAttempt
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
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 : прошедшее время вызова в мс |
invocationFailed
public void invocationFailed (Throwable cause)
Сообщает о незавершенном вызове из-за некоторого состояния ошибки.
Будет автоматически вызываться фреймворком TradeFederation.Параметры | |
---|---|
cause | Throwable : ERROR(/Throwable) причина сбоя |
вызов запущен
public void invocationStarted (IInvocationContext context)
Сообщает о начале вызова теста.
Будет автоматически вызываться фреймворком TradeFederation. Журналистам необходимо переопределить этот метод, чтобы поддерживать отчеты с нескольких устройств.
Параметры | |
---|---|
context | IInvocationContext : информация о вызове |
выключен
public boolean isDisabled ()
Возвращает True, если весь объект отключен (пропустить как настройку, так и демонтаж). Ложь в противном случае.
Возвращает | |
---|---|
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 |
установитьОтключить
public void setDisable (boolean isDisabled)
Устанавливает, должен ли объект быть отключен. Отключено означает, что этапы установки и демонтажа следует пропустить. Может использоваться для отключения объекта по умолчанию в конструкторе по умолчанию.
Параметры | |
---|---|
isDisabled | boolean : состояние, в которое должен быть помещен объект. |
setMergeStrategy
public void setMergeStrategy (MergeStrategy strategy)
Задает MergeStrategy
для использования при объединении результатов.
Параметры | |
---|---|
strategy | MergeStrategy |
testAssummentFailure
public void testAssumptionFailure (TestDescription test, String trace)
Вызывается, когда атомарный тест отмечает, что он принимает условие, которое является ложным.
Параметры | |
---|---|
test | TestDescription : идентифицирует тест |
trace | String : трассировка стека сбоя |
testAssummentFailure
public void testAssumptionFailure (TestDescription test, FailureDescription failure)
Вызывается, когда атомарный тест отмечает, что он принимает условие, которое является ложным.
Параметры | |
---|---|
test | TestDescription : идентифицирует тест |
failure | FailureDescription : FailureDescription , описывающий сбой и его контекст. |
testEnded
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 : время окончания теста, измеренное с помощью ERROR(/System#currentTimeMillis()) |
testMetrics | ERROR(/Map) выдаваемых метрик |
testEnded
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 ()
Сообщает об окончании выполнения модуля.
тестмодулестартед
public void testModuleStarted (IInvocationContext moduleContext)
Сообщает о начале работы модуля. Этот обратный вызов связан с testModuleEnded()
и является необязательным в последовательности. Он используется только во время запуска, в котором используются модули: бегуны на основе набора.
Параметры | |
---|---|
moduleContext | IInvocationContext : IInvocationContext модуля. |
testRunEnded
public void testRunEnded (long elapsedTime,runMetrics)
Сообщает об окончании тестового прогона. ИСПРАВЛЕНИЕ: У нас не может быть двух интерфейсов Map<> с разными типами, поэтому здесь мы должны использовать HashMap.
Параметры | |
---|---|
elapsedTime | long : устройство сообщило о прошедшем времени в миллисекундах |
runMetrics | Metric . |
testRunFailed
public void testRunFailed (FailureDescription failure)
Не удалось выполнить тестовый запуск отчетов из-за сбоя, описанного в FailureDescription
.
Параметры | |
---|---|
failure | FailureDescription : FailureDescription , описывающий сбой и его контекст. |
testRunFailed
public void testRunFailed (String errorMessage)
Не удалось выполнить тестовый запуск отчетов из-за неустранимой ошибки.
Параметры | |
---|---|
errorMessage | String : ERROR(/String) , описывающая причину сбоя выполнения. |
testRunStarted
public void testRunStarted (String name, int numTests, int attemptNumber)
Сообщает о начале тестового прогона.
Параметры | |
---|---|
name | String : имя запуска теста. |
numTests | int : общее количество тестов в тестовом прогоне |
attemptNumber | int : номер заказа, идентифицирующий различные попытки одного и того же runName, которые выполняются несколько раз. ПопыткаNumber имеет индекс 0 и должна увеличиваться каждый раз, когда происходит новый запуск. Например, тест гранулированно повторяется 3 раза, он должен иметь 4 полных запуска под одним и тем же именем запуска, а число попыток — от 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, которые выполняются несколько раз. ПопыткаNumber имеет индекс 0 и должна увеличиваться каждый раз, когда происходит новый запуск. Например, тест гранулированно повторяется 3 раза, он должен иметь 4 полных запуска под одним и тем же именем запуска, а число попыток — от 0 до 3. |
startTime | long : время запуска, измеренное с помощью ERROR(/System#currentTimeMillis()) |
testRunStopped
public void testRunStopped (long elapsedTime)
Тестовый запуск отчетов остановлен до завершения по запросу пользователя.
TODO: в настоящее время не используется, рассмотрите возможность удаления
Параметры | |
---|---|
elapsedTime | long : устройство сообщило о прошедшем времени в миллисекундах |
testStarted
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 : время запуска теста, измеренное с помощью ERROR(/System#currentTimeMillis()) |
testStarted
public void testStarted (TestDescription test)
Сообщает о начале отдельного тестового случая. Старый интерфейс, по возможности следует использовать testStarted(com.android.tradefed.result.TestDescription)
.
Параметры | |
---|---|
test | TestDescription : идентифицирует тест |
Защищенные методы
клирмодулелогфилес
protected final void clearModuleLogFiles ()
Позволяет очистить файл модуля, чтобы мы не переносили их слишком долго.
клиррезультсфорнаме
protected final void clearResultsForName (String testRunName)
Позволяет очистить результаты для заданного имени прогона. Следует использовать только в некоторых случаях, таких как агрегатор результатов.
Параметры | |
---|---|
testRunName | String |
setIsAggregrateMetrics
protected void setIsAggregrateMetrics (boolean aggregate)
Переключите параметр «агрегированные показатели»
Параметры | |
---|---|
aggregate | boolean |