Аргументы в отношении инструментов микробенчмарка

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

Чтобы настроить аргументы инструментирования при запуске тестов из Android Studio, выполните следующие действия:

  1. Отредактируйте конфигурацию запуска, нажав «Изменить» и выбрав конфигурацию, которую хотите изменить.
    Рисунок 1. Отредактируйте конфигурацию запуска.
  2. Измените аргументы инструментария, щелкнув рядом с полем «Аргументы инструментария» .
    Рисунок 2. Отредактируйте аргумент инструментария.
  3. Нажмите и добавьте необходимый аргумент инструментария.
    Рисунок 3. Добавьте аргумент инструментирования.

ДополнительныйTestOutputDir

Настраивает, где на устройстве сохраняются отчеты об тестах JSON и результаты профилирования.

  • Тип аргумента: строка пути к файлу.
  • По умолчанию: проверить внешний каталог APK.

androidx.benchmark.dryRunMode.enable

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

Это означает:

  • Ошибки конфигурации не применяются (например, чтобы упростить регулярные проверки правильности на эмуляторах).
  • Тестирование выполняется только в одном цикле без прогрева.
  • Измерения и трассировки не фиксируются, чтобы сократить время выполнения.

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

  • Тип аргумента: логический
  • По умолчанию: false

androidx.benchmark.iterations

Переопределяет целевое количество итераций, управляемое временем, чтобы обеспечить постоянный объем работы. Обычно это полезно только при включенном профилировании , чтобы обеспечить согласованный объем работы, выполняемой в трассировке профилирования при сравнении различных реализаций или запусков. В других сценариях это, вероятно, снижает точность или стабильность измерений.

  • Тип аргумента: целое число
  • По умолчанию: не указано

androidx.benchmark.junit4.SideEffectRunListener

Вы можете получить противоречивые результаты тестирования, если во время выполнения теста выполняется несвязанная фоновая работа.

Чтобы отключить фоновую работу во время тестирования производительности, установите тип аргумента инструментария listener на androidx.benchmark.junit4.SideEffectRunListener .

  • Тип аргумента: строка
  • Доступные варианты:
    • androidx.benchmark.junit4.SideEffectRunListener
  • По умолчанию: не указано

androidx.benchmark.output.enable

Включает запись результирующего файла JSON во внешнее хранилище.

  • Тип аргумента: логический
  • По умолчанию: true

androidx.benchmark.profiling.mode

Позволяет захватывать файлы трассировки во время выполнения тестов. Доступные параметры см. в разделе «Профилирование микробенчмарка» .

  • Тип аргумента: строка
  • Доступные варианты:
    • MethodTracing
    • StackSampling
    • None
  • По умолчанию: None

androidx.benchmark.suppressErrors

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

  • Тип аргумента: список строк
  • Доступные варианты:
    • DEBUGGABLE
    • LOW-BATTERY
    • EMULATOR
    • CODE-COVERAGE
    • UNLOCKED
    • SIMPLEPERF
    • ACTIVITY-MISSING
  • По умолчанию: пустой список.

androidx.benchmark.startupMode.enable (устарело)

Перенастраивает поведение цикла для поддержки кода тестирования во время запуска. Тесты выполняются без прогрева в течение 10 измерений. Чтобы минимизировать накладные расходы в микротестах, усреднение цикла отключено.

  • Тип аргумента: логический
  • По умолчанию: false
{% дословно %} {% дословно %} {% дословно %} {% дословно %}