Compose Preview Screenshot Testing Release Notes

0.0.1-alpha15

Bu sürümde aşağıdaki hata düzeltmeleri yer almaktadır:

Sorun Açıklama
500417360 numaralı sorun Layoutlib çerçevesinin yalıtılmış sınıf yükleyicisinde kotlin-stdlib bağımlılığı eksik olduğundan Kotlin 2.1+ ile önizlemeler çalıştırılırken başlatma kilitlenmesi (NoClassDefFoundError) sorunu düzeltildi.
384188032 numaralı sorun Bir ViewHolder nesnesi, Composable AndroidView fabrikası içinde genişletilirken oluşan oluşturma kilitlenmesi düzeltildi.
351302272 numaralı sorun Kaynakların eşdüzey veya bağımlı proje modüllerinde bulunduğu önizlemelerde, drawable kaynak yükleme hataları giderildi.
482664893 numaralı sorun Ekran görüntüsü testleri istisna oluşturduğunda doğrulama görevlerinin eski bir ekran görüntüsüyle yanlışlıkla başarılı olmak yerine uygun şekilde başarısız olması sağlandı.
497675618 numaralı sorun JVM kapsamı aracıları (ör. JaCoCo) tarafından composable sınıfların desteklenen enstrümantasyonu.
498545960 numaralı sorun Hata ayıklama çıkışını netleştirmek için JUnit konsolu hata yığın izlemelerinden dahili dosya adları (ör. ImageVerifier.kt) kaldırıldı.
385613865 numaralı sorun Test sonuçları XML dosyasındaki resimler için mutlak yol kullanımı kaldırıldı ve göreli yollarla değiştirildi.
513276596 numaralı sorun Oluşturma hatalarının, boş ekran görüntüsüyle sessizce geçmek yerine ekran görüntüsü testi görevlerinde doğru şekilde başarısız olması sağlandı.
340639802 numaralı sorun Testlerin ana kaynak kümesindeki tam nitelikli eşleşen yöntem adlarıyla yanlış eşleştirildiği önizleme yöntemi çözünürlüğüyle ilgili çakışmalar giderildi.

0.0.1-alpha14

Bu sürümde aşağıdaki hata düzeltmeleri ve performans iyileştirmeleri yer almaktadır:

Sorun Açıklama
469819154 numaralı sorun Compose oluşturucudaki bellek sızıntıları düzeltildi.
470058578 numaralı sorun Referans resimler güncellenirken kullanıcı arayüzünün donması ve bellek hataları düzeltildi.
422412664 numaralı sorun Windows ve GitHub Actions'da "komut satırı, işletim sistemi sınırlarını aşıyor" hataları düzeltildi.
437223807 numaralı sorun Çok modüllü projelerde kaynak ve öğe çözümleme sorunları düzeltildi.
464899800 numaralı sorun version.properties içinde adlandırma çakışmasından kaynaklanan Gradle eklentisi çakışması düzeltildi.
482433854 numaralı sorun kotlin-reflect veya serileştirme kullanan composable'lar için başlatma hataları düzeltildi.

0.0.1-alpha13

Bu sürümde sunulanlar:

  • JDK 17 veya sonraki sürümlerle uyumluluk.
  • Hata düzeltmeleri ve Android Studio ile entegrasyonun iyileştirilmesi.

0.0.1-alpha12

Bu sürümde sunulanlar:

  • Android Gradle Eklentisi (AGP) 9.0 ile uyumluluk.
  • JDK 24 ve sonraki sürümlerde ekran görüntüsü testleri çalıştırma desteği.
  • Maksimum yığın boyutunu yapılandırma desteği.
  • Oluşturma hataları düzeltildi ve test kararlılığı iyileştirildi.
  • Raporlama, yeni ve referans resimlerle ilgili yüzde farkını ve diğer meta verileri içerecek şekilde geliştirildi.

0.0.1-alpha11

Bu sürümde sunulanlar:

  • Android Gradle eklentisi (AGP) 8.13 ile uyumluluk.
  • Ana makinenin yerel ayarından bağımsız olarak ondalık değerlere sahip XML çizilebilir öğelerinin ayrıştırılması için destek eklendi.
  • JDK 24 veya sonraki sürümlerin kullanıldığı bir ana makine için, uyumlu bir JDK (11-23) yüklüyse bu JDK seçilir.

0.0.1-alpha10

Bu sürümde sunulanlar:

  • Bu sürümden itibaren tüm önizleme işlevlerinizi @PreviewTest ek açıklamasıyla işaretlemeniz gerekir. Açıklama içermeyen önizlemeler yürütülmez.

  • Referans görsel dizini {module}/src/{variant}/screenshotTest/reference olarak değiştirildi.{module}/src/screenshotTest{Variant}/reference Bunun nedeni, oluşturulan referans resimlerin üretim kodunun bir parçası olmamasını sağlamak ve diğer test türlerinin dizin yapısıyla uyumlu olmaktır.

  • {variant}PreviewScreenshotRender görevi kaldırılır. Görüntü oluşturma, JUnit Test Engine'e taşındı.

  • update{Variant}ScreenshotTest görevi, güncellemeden önce yeni oluşturma resimlerini referans resimlerle karşılaştırır. Yalnızca belirtilen eşiğin üzerinde farklılıklar içeren resimleri günceller. --updateFilter komut satırı işareti kaldırıldı.

0.0.1-alpha06

Bu sürümde sunulanlar:

Resim Farkı Eşiği: Bu yeni genel eşik ayarı, ekran görüntüsü karşılaştırmaları üzerinde daha hassas kontrol sahibi olmanızı sağlar. Yapılandırmak için modülünüzün build.gradle.kts dosyasını güncelleyin:

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

Bu eşik, modülde tanımlanan tüm ekran görüntüsü testlerine uygulanır.

  • Hata düzeltmeleri: Bazı Compose Renderer hataları düzeltildi ve boş Compose desteği eklendi.
  • Performans geliştirmeleri: Resim karşılaştırma algoritması daha hızlı olacak şekilde güncellendi.