Informacje o wersji testów zrzutów ekranu w widoku tworzenia

0.0.1-alpha15

W tej wersji wprowadziliśmy następujące poprawki błędów:

Problem Opis
problem 500417360 Rozwiązaliśmy problem z awarią inicjowania (NoClassDefFoundError) podczas uruchamiania podglądów w Kotlinie 2.1 lub nowszym z powodu braku zależności kotlin-stdlib w izolowanym module ładującym klasy platformy Layoutlib.
problem 384188032 Naprawiliśmy awarię renderowania podczas powiększania obiektu ViewHolder wewnątrz fabryki funkcji kompozycyjnej AndroidView.
problem 351302272 Rozwiązano problemy z wczytywaniem obiektów rysowalnych w podglądach, w których zasoby znajdują się w modułach projektu równorzędnego lub zależnego.
problem 482664893 Zadbano o to, aby zadania weryfikacji kończyły się niepowodzeniem, gdy testy zrzutów ekranu zgłaszają wyjątki, a nie nieprawidłowo kończyły się powodzeniem ze starym zrzutem ekranu.
problem 497675618 Obsługa instrumentacji klas funkcji kompozycyjnych przez agentów pokrycia JVM (takich jak JaCoCo).
problem 498545960 Usunięto z zrzutów stosu błędów konsoli JUnit wewnętrzne nazwy plików (np. ImageVerifier.kt), aby ułatwić debugowanie.
problem 385613865 Usunięto użycie ścieżek bezwzględnych w przypadku obrazów w pliku XML z wynikami testu i zastąpiono je ścieżkami względnymi.
problem 513276596 Zapewniliśmy, że błędy renderowania powodują niepowodzenie zadań testu zrzutu ekranu, a nie ciche przechodzenie testu z pustym zrzutem ekranu.
problem 340639802 Rozwiązano konflikty dotyczące metody podglądu, w których testy były nieprawidłowo dopasowywane do pasujących w pełni kwalifikowanych nazw metod w głównym zbiorze źródeł.

0.0.1-alpha14

Ta wersja zawiera następujące poprawki błędów i ulepszenia wydajności:

Problem Opis
problem 469819154 Naprawiliśmy wycieki pamięci w mechanizmie renderowania Compose.
problem 470058578 Usunęliśmy zawieszanie się interfejsu i błędy pamięci podczas aktualizowania obrazów referencyjnych.
problem 422412664 Naprawiono błędy „wiersz poleceń przekracza limity systemu operacyjnego” w systemie Windows i GitHub Actions.
problem 437223807 Rozwiązaliśmy problemy z rozpoznawaniem zasobów i komponentów w projektach wielomodułowych.
problem 464899800 Rozwiązaliśmy konflikt wtyczki Gradle spowodowany kolizją nazw w version.properties.
problem 482433854 Naprawiono błędy inicjowania w przypadku funkcji kompozycyjnych korzystających z kotlin-reflect lub serializacji.

0.0.1-alpha13

Ta wersja wprowadza:

  • Zgodność z pakietem JDK 17 lub nowszym.
  • Poprawki błędów i lepsza integracja z Android Studio.

0.0.1-alpha12

Ta wersja wprowadza:

  • Zgodność z wtyczką Androida do obsługi Gradle (AGP) w wersji 9.0.
  • Obsługa przeprowadzania testów zrzutów ekranu w JDK 24 i nowszych.
  • Możliwość skonfigurowania maksymalnego rozmiaru sterty.
  • Naprawiono błędy renderowania i zwiększono stabilność testów.
  • Ulepszyliśmy raportowanie, aby uwzględniało różnicę procentową i inne metadane związane z nowymi i referencyjnymi obrazami.

0.0.1-alpha11

Ta wersja wprowadza:

  • Zgodność z wtyczką Androida do obsługi Gradle (AGP) w wersji 8.13.
  • Dodano obsługę analizowania rysunków XML z wartościami dziesiętnymi niezależnie od ustawień regionalnych komputera hosta.
  • W przypadku maszyny hosta korzystającej z JDK 24 lub nowszego zostanie wybrana zgodna wersja JDK (11–23), o ile jest zainstalowana.

0.0.1-alpha10

Ta wersja wprowadza:

  • Od tej wersji musisz oznaczyć wszystkie funkcje w wersji zapoznawczej adnotacją @PreviewTest. Podglądy bez adnotacji nie będą wykonywane.

  • Katalog obrazów referencyjnych został zmieniony z:{module}/src/{variant}/screenshotTest/reference na:{module}/src/screenshotTest{Variant}/reference. Dzięki temu wygenerowane obrazy referencyjne nie będą częścią kodu produkcyjnego, a struktura katalogów będzie zgodna z strukturą katalogów innych typów testów.

  • Zadanie {variant}PreviewScreenshotRender zostanie usunięte. Renderowanie obrazów jest przenoszone do silnika testowego JUnit.

  • update{Variant}ScreenshotTest porówna nowe obrazy renderowane z obrazami referencyjnymi przed aktualizacją. Aktualizuje tylko obrazy, w których różnice są większe niż określony próg. Flaga wiersza poleceń --updateFilter została usunięta.

0.0.1-alpha06

Ta wersja wprowadza:

Próg różnicy obrazu: to nowe ustawienie globalnego progu pozwoli Ci uzyskać większą kontrolę nad porównywaniem zrzutów ekranu. Aby skonfigurować, zaktualizuj plik build.gradle.kts modułu:

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

Ten próg zostanie zastosowany do wszystkich testów zrzutów ekranu zdefiniowanych w module.

  • Poprawki błędów: naprawiliśmy niektóre błędy renderowania w Compose i dodaliśmy obsługę pustych kompozycji.
  • Ulepszenia wydajności: zaktualizowano algorytm porównywania obrazów, aby działał szybciej.