Versionshinweise für Screenshot-Tests für Compose-Vorschau

0.0.1-alpha15

Diese Version enthält die folgenden Fehlerkorrekturen:

Problem Beschreibung
Problem #500417360 Ein Initialisierungsabsturz (NoClassDefFoundError) wurde behoben, der beim Ausführen von Vorschauen mit Kotlin 2.1+ aufgrund einer fehlenden kotlin-stdlib-Abhängigkeit im isolierten Classloader des Layoutlib-Frameworks auftrat.
Problem #384188032 Ein Rendering-Absturz wurde behoben, der beim Inflating eines ViewHolder-Objekts in einer zusammensetzbaren AndroidView-Factory auftrat.
Problem #351302272 Fehler beim Laden von Drawable-Ressourcen in Vorschauen wurden behoben, bei denen sich Ressourcen in gleichgeordneten oder abhängigen Projektmodulen befinden.
Problem #482664893 Es wurde dafür gesorgt, dass Validierungsaufgaben ordnungsgemäß fehlschlagen, wenn bei Screenshot-Tests Ausnahmen auftreten, anstatt fälschlicherweise mit einem veralteten Screenshot erfolgreich zu sein.
Problem #497675618 Die Instrumentierung von zusammensetzbaren Klassen durch JVM-Coverage-Agents (z. B. JaCoCo) wird unterstützt.
Problem #498545960 Interne Dateinamen (z. B. ImageVerifier.kt) wurden aus JUnit-Konsolen-Fehler-Stacktraces entfernt, um die Debugging-Ausgabe zu verdeutlichen.
Problem #385613865 Die Verwendung absoluter Pfade für Bilder in der XML-Datei mit den Testergebnissen wurde entfernt und durch relative Pfade ersetzt.
Problem #513276596 Es wurde dafür gesorgt, dass Rendering-Fehler ordnungsgemäß zu einem Fehler bei den Screenshot-Testaufgaben führen, anstatt stillschweigend mit einem leeren Screenshot zu bestehen.
Problem #340639802 Konflikte bei der Auflösung von Vorschau-Methoden wurden behoben, bei denen Tests fälschlicherweise mit übereinstimmenden voll qualifizierten Methodennamen im Haupt-Quellsatz abgeglichen wurden.

0.0.1-alpha14

Diese Version enthält die folgenden Fehlerkorrekturen und Leistungsverbesserungen:

Problem Beschreibung
Problem #469819154 Speicherlecks im Compose-Renderer wurden behoben.
Problem #470058578 UI-Einfrierungen und Speicherfehler beim Aktualisieren von Referenzbildern wurden behoben.
Problem #422412664 Fehler vom Typ „command line exceeds operating system limits“ (Befehlszeile überschreitet die Grenzwerte des Betriebssystems) unter Windows und in GitHub Actions wurden behoben.
Problem #437223807 Probleme bei der Auflösung von Ressourcen und Assets in Projekten mit mehreren Modulen wurden behoben.
Problem #464899800 Ein Gradle-Plug-in-Konflikt wurde behoben, der durch eine Namenskollision in version.properties verursacht wurde.
Problem #482433854 Initialisierungsfehler für zusammensetzbare Funktionen, die kotlin-reflect oder die Serialisierung verwenden, wurden behoben.

0.0.1-alpha13

Diese Version enthält folgende Neuerungen:

  • Kompatibilität mit JDK 17 oder höher.
  • Fehlerkorrekturen und verbesserte Integration mit Android Studio.

0.0.1-alpha12

Diese Version enthält folgende Neuerungen:

  • Kompatibilität mit dem Android Gradle-Plug-in (AGP) 9.0.
  • Unterstützung für die Ausführung von Screenshot-Tests unter JDK 24 und höher.
  • Unterstützung für die Konfiguration der maximalen Heap-Größe.
  • Rendering-Fehler wurden behoben und die Teststabilität wurde verbessert.
  • Die Berichterstellung wurde verbessert und enthält jetzt die prozentuale Differenz und andere Metadaten zu neuen und Referenzbildern.

0.0.1-alpha11

Diese Version enthält folgende Neuerungen:

  • Kompatibilität mit dem Android Gradle-Plug-in (AGP) 8.13.
  • Unterstützung für das Parsen von XML-Drawables mit Dezimalwerten unabhängig vom Gebietsschema des Hostcomputers.
  • Auf einem Hostcomputer mit JDK 24 oder höher wird ein kompatibles JDK (11–23) ausgewählt, sofern eines installiert ist.

0.0.1-alpha10

Diese Version enthält folgende Neuerungen:

  • Ab dieser Version müssen Sie alle Vorschaufunktionen mit der Annotation @PreviewTest kennzeichnen. Vorschauen ohne die Annotation werden nicht ausgeführt.

  • Das Verzeichnis für Referenzbilder wurde von {module}/src/{variant}/screenshotTest/reference zu {module}/src/screenshotTest{Variant}/reference geändert. So wird sichergestellt, dass diese generierten Referenzbilder nicht Teil des Produktionscodes sind, und die Verzeichnisstruktur entspricht der anderer Testtypen.

  • Die Aufgabe {variant}PreviewScreenshotRender wurde entfernt. Das Rendering von Bildern wurde in die JUnit Test Engine migriert.

  • Die Aufgabe update{Variant}ScreenshotTest vergleicht neue Rendering-Bilder mit Referenzbildern, bevor sie aktualisiert werden. Es werden nur Bilder aktualisiert, bei denen die Unterschiede einen bestimmten Schwellenwert überschreiten. Das Befehlszeilen-Flag --updateFilter wurde entfernt.

0.0.1-alpha06

Diese Version enthält folgende Neuerungen:

Schwellenwert für Bildunterschiede: Mit dieser neuen globalen Schwellenwerteinstellung können Sie die Screenshot-Vergleiche besser steuern. Aktualisieren Sie dazu die Datei „build.gradle.kts“ Ihres Moduls:

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

Dieser Schwellenwert wird auf alle im Modul definierten Screenshot-Tests angewendet.

  • Fehlerkorrekturen: Einige Fehler im Compose-Renderer wurden behoben und Unterstützung für leere Compose-Funktionen wurde hinzugefügt.
  • Leistungsverbesserungen: Der Algorithmus für den Bildvergleich wurde aktualisiert, um schneller zu sein.