Notes de version des tests de capture d'écran de l'aperçu Compose

0.0.1-alpha15

Cette version inclut les corrections de bugs suivantes :

Problème Description
Problème n° 500417360 Correction d'un plantage d'initialisation (NoClassDefFoundError) lors de l'exécution d'aperçus avec Kotlin 2.1 ou version ultérieure en raison d'une dépendance kotlin-stdlib manquante dans le chargeur de classe isolé du framework Layoutlib.
Problème n° 384188032 Correction d'un plantage de rendu lors de l'inflation d'un objet ViewHolder dans une fabrique AndroidView composable.
Problème n° 351302272 Résolution des échecs de chargement des ressources dessinables dans les aperçus où les ressources résident dans des modules de projet frères ou dépendants.
Problème n° 482664893 Assurez-vous que les tâches de validation échouent correctement lorsque les tests de capture d'écran génèrent des exceptions, plutôt que de réussir de manière incorrecte avec une capture d'écran obsolète.
Problème n° 497675618 Prise en charge de l'instrumentation des classes composables par les agents de couverture JVM (tels que JaCoCo).
Problème n° 498545960 Suppression des noms de fichiers internes (par exemple, ImageVerifier.kt) des traces de pile d'erreurs de la console JUnit pour clarifier la sortie de débogage.
Problème n° 385613865 Suppression de l'utilisation de chemins absolus pour les images dans le fichier XML des résultats de test, en les remplaçant par des chemins relatifs.
Problème n° 513276596 Assurez-vous que les échecs de rendu font échouer correctement les tâches de test de capture d'écran plutôt que de réussir en mode silencieux avec une capture d'écran vide.
Problème n° 340639802 Résolution des conflits de résolution de méthode d'aperçu où les tests étaient incorrectement mis en correspondance avec des noms de méthode complets correspondants dans le sourceset principal.

0.0.1-alpha14

Cette version inclut les corrections de bugs et les améliorations des performances suivantes :

Problème Description
Problème n° 469819154 Correction des fuites de mémoire dans le moteur de rendu Compose.
Problème n° 470058578 Correction des blocages de l'interface utilisateur et des erreurs de mémoire lors de la mise à jour des images de référence.
Problème n° 422412664 Correction des erreurs "La ligne de commande dépasse les limites du système d'exploitation" sur Windows et GitHub Actions.
Problème n° 437223807 Correction des problèmes de résolution des ressources et des éléments dans les projets multimodules.
Problème n° 464899800 Correction d'un conflit de plug-in Gradle causé par une collision de noms dans version.properties.
Problème n° 482433854 Correction des erreurs d'initialisation pour les composables utilisant kotlin-reflect ou la sérialisation.

0.0.1-alpha13

Cette version introduit les éléments suivants :

  • Compatibilité avec JDK 17 ou version ultérieure.
  • Correction de bugs et intégration améliorée à Android Studio.

0.0.1-alpha12

Cette version introduit les éléments suivants :

  • Compatibilité avec le plug-in Android Gradle (AGP) 9.0.
  • Prise en charge de l'exécution de tests de capture d'écran sur JDK 24 et versions ultérieures.
  • Prise en charge de la configuration de la taille maximale du tas.
  • Correction des échecs de rendu et amélioration de la stabilité des tests.
  • Amélioration des rapports pour inclure la différence en pourcentage et d'autres métadonnées liées aux images nouvelles et de référence.

0.0.1-alpha11

Cette version introduit les éléments suivants :

  • Compatibilité avec le plug-in Android Gradle (AGP) 8.13.
  • Ajout de la prise en charge de l'analyse des éléments dessinables XML avec des valeurs décimales, quelle que soit la région de la machine hôte.
  • Pour une machine hôte utilisant JDK 24 ou version ultérieure, le JDK compatible (11-23) sera sélectionné, à condition qu'il soit installé.

0.0.1-alpha10

Cette version introduit les éléments suivants :

  • À partir de cette version, vous devez marquer toutes vos fonctions d'aperçu avec l'annotation @PreviewTest. Les aperçus sans annotation ne seront pas exécutés.

  • Le répertoire des images de référence est passé de {module}/src/{variant}/screenshotTest/reference à {module}/src/screenshotTest{Variant}/reference. Cela permet de s'assurer que les images de référence générées ne font pas partie du code de production et de s'aligner avec la structure de répertoire des autres types de tests.

  • La tâche {variant}PreviewScreenshotRender est supprimée. Le rendu d'image est migré vers le moteur de test JUnit.

  • La tâche update{Variant}ScreenshotTest compare les nouvelles images de rendu aux images de référence avant de les mettre à jour. Elle ne met à jour que les images dont les différences sont supérieures à un seuil spécifié. L'indicateur de ligne de commande --updateFilter a été supprimé.

0.0.1-alpha06

Cette version introduit les éléments suivants :

Seuil de différence d'image : ce nouveau paramètre de seuil global vous permet de mieux contrôler les comparaisons de captures d'écran. Pour le configurer, mettez à jour le fichier build.gradle.kts de votre module :

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

Ce seuil sera appliqué à tous les tests de capture d'écran définis dans le module.

  • Correction de bugs : correction de certains bugs du moteur de rendu Compose et ajout de la prise en charge de Compose vide.
  • Améliorations des performances : l'algorithme de comparaison des images a été mis à jour pour être plus rapide.