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

0.0.1-alpha15

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

Проблема Описание
выпуск № 500417360 Исправлена ​​ошибка инициализации ( NoClassDefFoundError ) при запуске предварительного просмотра с Kotlin 2.1+, возникавшая из-за отсутствия зависимости kotlin-stdlib в изолированном загрузчике классов фреймворка Layoutlib .
выпуск № 384188032 Исправлена ​​ошибка отрисовки, приводившая к сбою при создании объекта ViewHolder внутри фабрики Composable AndroidView .
выпуск № 351302272 Исправлены ошибки загрузки ресурсов изображения внутри предварительного просмотра, когда ресурсы находятся в соседних или зависимых модулях проекта.
выпуск № 482664893 Обеспечено корректное завершение задач проверки при возникновении исключений в тестах скриншотов, вместо некорректного успешного выполнения с устаревшим скриншотом.
выпуск № 497675618 Поддерживается инструментирование компонуемых классов агентами анализа покрытия кода JVM (такими как JaCoCo).
выпуск № 498545960 Из трассировок стека ошибок консоли JUnit удалены внутренние имена файлов (например, ImageVerifier.kt ), чтобы сделать отладочный вывод более понятным.
выпуск № 385613865 Удалено использование абсолютных путей к изображениям в XML-файле результатов тестирования, вместо них используются относительные пути.
выпуск № 513276596 Обеспечено корректное завершение тестов на создание скриншотов при ошибках рендеринга, а не их молчаливое завершение с пустым скриншотом.
выпуск № 340639802 Устранены конфликты разрешения методов предварительного просмотра, когда тесты некорректно сопоставлялись с соответствующими полными именами методов в основном наборе исходных файлов.

0.0.1-альфа14

В этот релиз включены следующие исправления ошибок и улучшения производительности:

Проблема Описание
выпуск № 469819154 Исправлены утечки памяти в рендерере Compose.
выпуск № 470058578 Исправлены зависания пользовательского интерфейса и ошибки памяти при обновлении эталонных изображений.
выпуск № 422412664 Исправлены ошибки "командная строка превышает ограничения операционной системы" в Windows и GitHub Actions.
выпуск № 437223807 Исправлены проблемы с разрешением ресурсов и активов в многомодульных проектах.
выпуск № 464899800 Исправлен конфликт плагинов Gradle, вызванный несоответствием имен в version.properties .
выпуск № 482433854 Исправлены ошибки инициализации для компонуемых объектов, использующих kotlin-reflect или сериализацию.

0.0.1-альфа13

В этом релизе представлены:

  • Совместимость с JDK 17 и выше.
  • Исправлены ошибки и улучшена интеграция с Android Studio.

0.0.1-alpha12

В этом релизе представлены:

  • Совместимость с плагином Android Gradle (AGP) 9.0.
  • Поддержка запуска тестов скриншотов в JDK 24 и выше.
  • Поддерживается настройка максимального размера кучи.
  • Исправлены ошибки рендеринга и повышена стабильность тестов.
  • Улучшена отчетность за счет включения процентных различий и других метаданных, относящихся к новым и эталонным изображениям.

0.0.1-alpha11

В этом релизе представлены:

  • Совместимость с плагином Android Gradle (AGP) 8.13.
  • Добавлена ​​поддержка анализа XML-файлов с десятичными значениями независимо от локали хост-машины.
  • Для хост-машины, использующей JDK 24 или выше, будет выбрана совместимая версия JDK (11-23), при условии, что она установлена.

0.0.1-alpha10

В этом релизе представлены:

  • Начиная с этой версии, необходимо помечать все функции предварительного просмотра аннотацией @PreviewTest . Предварительный просмотр без этой аннотации выполняться не будет.

  • Каталог эталонных изображений изменен с {module}/src/{variant}/screenshotTest/reference на {module}/src/screenshotTest{Variant}/reference . Это сделано для того, чтобы сгенерированные эталонные изображения не попали в производственный код, и для соответствия структуре каталогов других типов тестов.

  • Задача {variant}PreviewScreenshotRender удалена. Рендеринг изображений перенесен в JUnit Test Engine.

  • Задача update{Variant}ScreenshotTest будет сравнивать новые изображения рендеринга с эталонными изображениями перед обновлением. Она будет обновлять только те изображения, различия между которыми превышают указанный порог. Флаг командной строки --updateFilter был удален.

0.0.1-alpha06

В этом релизе представлены:

Пороговое значение разницы изображений: Эта новая глобальная настройка порогового значения позволит вам более точно контролировать сравнение скриншотов. Для настройки обновите файл build.gradle.kts вашего модуля:

    testOptions {
        screenshotTests {
            imageDifferenceThreshold = 0.0001f // 0.01%
        }
    }

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

  • Исправлены ошибки: исправлены некоторые ошибки рендеринга Compose и добавлена ​​поддержка пустого Compose.
  • Улучшения производительности: Алгоритм сравнения изображений был обновлен для повышения скорости работы.