Notas de la versión de prueba de capturas de pantalla de la vista previa de Compose

0.0.1-alpha15

Esta versión incluye las siguientes correcciones de errores:

Problema Descripción
Error #500417360 Se corrigió una falla de inicialización (NoClassDefFoundError) cuando se ejecutaban vistas previas con Kotlin 2.1 o versiones posteriores debido a una dependencia kotlin-stdlib faltante en el cargador de clases aislado del framework Layoutlib.
Error #384188032 Se corrigió una falla de renderización que se producía al inflar un objeto ViewHolder dentro de una fábrica de AndroidView componible.
Error #351302272 Se resolvieron las fallas de carga de recursos de elementos de diseño dentro de las vistas previas en las que los recursos residen en módulos de proyectos dependientes o hermanos.
Error #482664893 Se garantizó que las tareas de validación fallen de forma adecuada cuando las pruebas de capturas de pantalla arrojan excepciones, en lugar de tener éxito de forma incorrecta con una captura de pantalla obsoleta.
Error #497675618 Se admite la instrumentación de clases componibles por parte de agentes de cobertura de JVM (como JaCoCo).
Error #498545960 Se quitaron los nombres de archivos internos (por ejemplo, ImageVerifier.kt) de los seguimientos de pila de errores de la consola de JUnit para aclarar el resultado de la depuración.
Error #385613865 Se quitó el uso de rutas de acceso absolutas para las imágenes en el archivo en formato XML de resultados de la prueba y se reemplazaron por rutas de acceso relativas.
Error #513276596 Se garantizó que los errores de renderización provoquen correctamente el fallo de las tareas de prueba de capturas de pantalla en lugar de aprobarse de forma silenciosa con una captura de pantalla en blanco.
Error #340639802 Se resolvieron los conflictos de resolución de métodos de vista previa en los que las pruebas se correspondían de forma incorrecta con los nombres de métodos completamente calificados coincidentes en el conjunto de fuentes principal.

0.0.1-alpha14

Esta versión incluye las siguientes correcciones de errores y mejoras de rendimiento:

Problema Descripción
Error #469819154 Se corrigieron las fugas de memoria en el renderizador de Compose.
Error #470058578 Se corrigieron los errores de memoria y los bloqueos de la IU que se producían al actualizar las imágenes de referencia.
Error #422412664 Se corrigieron los errores de "la línea de comandos supera los límites del sistema operativo" en Windows y GitHub Actions.
Error #437223807 Se corrigieron problemas de resolución de recursos y activos en proyectos de varios módulos.
Error #464899800 Se corrigió un conflicto del complemento de Gradle causado por una colisión de nombres en version.properties.
Error #482433854 Se corrigieron los errores de inicialización para los elementos componibles que usan kotlin-reflect o la serialización.

0.0.1-alpha13

En esta versión, se incluyen las siguientes novedades:

  • Compatibilidad con JDK 17 o versiones posteriores
  • Se corrigieron errores y se mejoró la integración con Android Studio.

0.0.1-alpha12

En esta versión, se incluyen las siguientes novedades:

  • Compatibilidad con el complemento de Android para Gradle (AGP) 9.0.
  • Se agregó compatibilidad para ejecutar pruebas de capturas de pantalla en JDK 24 y versiones posteriores.
  • Se agregó compatibilidad para configurar el tamaño máximo del montón.
  • Se corrigieron los errores de renderización y se mejoró la estabilidad de las pruebas.
  • Se mejoraron los informes para incluir el porcentaje de diferencia y otros metadatos relacionados con las imágenes nuevas y de referencia.

0.0.1-alpha11

En esta versión, se incluyen las siguientes novedades:

  • Compatibilidad con el complemento de Android para Gradle (AGP) 8.13
  • Se agregó compatibilidad para analizar elementos de diseño XML con valores decimales, independientemente de la configuración regional de la máquina host.
  • En el caso de una máquina anfitrión que use JDK 24 o una versión posterior, se seleccionará un JDK compatible (11 a 23), siempre que haya uno instalado.

0.0.1-alpha10

En esta versión, se incluyen las siguientes novedades:

  • A partir de esta versión, debes marcar todas tus funciones de vista previa con la anotación @PreviewTest. No se ejecutarán las vistas previas sin la anotación.

  • El directorio de imágenes de referencia cambió de {module}/src/{variant}/screenshotTest/reference a {module}/src/screenshotTest{Variant}/reference. Esto es para asegurarnos de que esas imágenes de referencia generadas no formen parte del código de producción y para alinearnos con la estructura de directorios de otros tipos de pruebas.

  • Se quitó la tarea {variant}PreviewScreenshotRender. El procesamiento de imágenes se migró al motor de pruebas de JUnit.

  • La tarea update{Variant}ScreenshotTest comparará las imágenes de renderización nuevas con las imágenes de referencia antes de la actualización. Solo actualizará las imágenes que tengan diferencias mayores que un umbral especificado. Se quitó la marca de línea de comandos --updateFilter.

0.0.1-alpha06

En esta versión, se incluyen las siguientes novedades:

Umbral de diferencia de imagen: Este nuevo parámetro de configuración global del umbral te permitirá tener un mayor control sobre las comparaciones de capturas de pantalla. Para configurar el archivo, actualiza el build.gradle.kts de tu módulo:

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

Este umbral se aplicará a todas las pruebas de capturas de pantalla definidas en el módulo.

  • Corrección de errores: Se corrigieron algunos errores del renderizador de Compose y se agregó compatibilidad con Compose vacío.
  • Mejoras de rendimiento: Se actualizó el algoritmo de comparación de imágenes para que sea más rápido.