0.0.1-alpha16
Cette version ajoute la compatibilité avec les suites de tests AGP, améliore les rapports de tests HTML et corrige des bugs :
- Intégration des suites de tests : ajout de la compatibilité pour l'exécution des tests de capture d'écran des aperçus Compose avec les suites de tests du plug-in Android Gradle (AGP). Pour savoir comment configurer et exécuter des suites de tests de capture d'écran, consultez Tests de capture d'écran avec des suites de tests.
- Améliorations apportées au rapport de test HTML : ajout d'une fiche d'en-tête de métadonnées affichant les détails du cas de test (nom, méthode, aperçu, variante, suite et badge d'état) et d'une zone de récapitulatif des erreurs catégorisant les échecs (tels que les images de référence manquantes ou les différences de dimensions) avec une fonctionnalité de copier-coller rapide.
- Diffs visuels dynamiques : les diffs visuels utilisent désormais un dégradé continu, allant de subtiles mises en évidence pour les petits décalages de pixels à un contraste élevé pour les différences majeures, ce qui empêche les modifications de composants imbriqués d'être masquées.
Cette version inclut également les corrections de bugs suivantes :
| Problème | Description |
|---|---|
| Problème 513276596 | Contribuez à ce que les erreurs de rendu Layoutlib échouent immédiatement aux tests de capture d'écran au lieu d'échouer silencieusement ou de créer des images de référence vides. |
0.0.1-alpha15
Cette version inclut les corrections de bugs suivantes :
| Problème | Description |
|---|---|
| Problème 500417360 | Correction d'un plantage d'initialisation (NoClassDefFoundError) lors de l'exécution d'aperçus avec Kotlin 2.1+ en raison d'une dépendance kotlin-stdlib manquante dans le chargeur de classe isolé du framework Layoutlib. |
| Problème 384188032 | Correction d'un plantage de rendu lors du gonflage d'un objet ViewHolder à l'intérieur d'une fabrique AndroidView composable. |
| Problème 351302272 | Résolution des échecs de chargement des ressources drawables dans les aperçus où les ressources résident dans des modules de projet frères ou dépendants. |
| Problème 482664893 | Nous avons veillé à ce 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 incorrectement avec une capture d'écran obsolète. |
| Problème 497675618 | Prise en charge de l'instrumentation des classes composables par les agents de couverture JVM (tels que JaCoCo). |
| Problème 498545960 | Suppression des noms de fichiers internes (par exemple, ImageVerifier.kt) des traces de pile d'erreur de la console JUnit pour clarifier la sortie de débogage. |
| Problème 385613865 | Suppression de l'utilisation de chemins absolus pour les images dans le fichier XML des résultats des tests, remplacés par des chemins relatifs. |
| Problème 513276596 | Les échecs de rendu garantissent que les tâches de test de capture d'écran échouent correctement au lieu de réussir silencieusement avec une capture d'écran vide. |
| Problème 340639802 | Résolution des conflits de résolution de la méthode d'aperçu dans lesquels les tests étaient associés de manière incorrecte aux noms de méthodes 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 469819154 | Correction des fuites de mémoire dans le moteur de rendu Compose. |
| Problème 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 422412664 | Correction des erreurs "La ligne de commande dépasse les limites du système d'exploitation" sur Windows et GitHub Actions. |
| Problème 437223807 | Correction des problèmes de résolution des ressources et des éléments dans les projets multimodules. |
| Problème 464899800 | Correction d'un conflit de plug-in Gradle causé par une collision de noms dans version.properties. |
| Problème 482433854 | Correction des erreurs d'initialisation pour les composables utilisant kotlin-reflect ou la sérialisation. |
0.0.1-alpha13
Cette version inclut les nouveautés suivantes :
- Compatibilité avec JDK 17 ou version ultérieure.
- Correction de bugs et amélioration de l'intégration à Android Studio.
0.0.1-alpha12
Cette version inclut les nouveautés suivantes :
- 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.
- Possibilité de configurer la taille maximale du tas de mémoire.
- 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 nouvelles images et aux images de référence.
0.0.1-alpha11
Cette version inclut les nouveautés suivantes :
- Compatibilité avec le plug-in Android Gradle (AGP) 8.13.
- Ajout de la prise en charge de l'analyse des éléments drawables XML avec des valeurs décimales, quel que soit le paramètre régional 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 inclut les nouveautés suivantes :
À 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 d'être en phase avec la structure des répertoires des autres types de tests.La tâche
{variant}PreviewScreenshotRenderest supprimée. Le rendu d'image est migré vers JUnit Test Engine.La tâche
update{Variant}ScreenshotTestcompare les nouvelles images de rendu aux images de référence avant la mise à jour. Il ne mettra à jour que les images dont les différences sont supérieures à un seuil spécifié. L'option de ligne de commande--updateFiltera été supprimée.
0.0.1-alpha06
Cette version inclut les nouveautés suivantes :
Seuil de différence d'image : ce nouveau paramètre de seuil global vous permet de contrôler plus précisément les comparaisons de captures d'écran. Pour 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 compatibilité avec Compose vide.
- Améliorations des performances : l'algorithme de comparaison d'images a été mis à jour pour être plus rapide.