0.0.1-alpha16
這個版本支援 AGP 測試套件、改善 HTML 測試報告,並修正錯誤:
- 整合測試套件:新增支援功能,可使用 Android Gradle 外掛程式 (AGP) 測試套件執行 Compose 預覽畫面螢幕截圖測試。如要瞭解如何設定及執行螢幕截圖測試套件,請參閱「使用測試套件進行螢幕截圖測試」。
- HTML 測試報告強化功能:新增標題中繼資料資訊卡,顯示測試案例詳細資料 (名稱、方法、預覽、變體、套件和狀態徽章),以及錯誤摘要方塊,將失敗情形分類 (例如缺少參照圖片或維度不符),並提供快速複製到剪貼簿的功能。
- 動態視覺差異:視覺差異現在會使用連續漸層,從細微的像素位移的細微醒目顯示,到重大差異的高對比強調,防止巢狀元件變更遭到遮蔽。
這個版本也修正了下列錯誤:
| 問題 | 說明 |
|---|---|
| 問題 #513276596 | 確保 Layoutlib 算繪錯誤會立即導致螢幕截圖測試失敗,而不是無聲無息地失敗或建立空白的參照圖片。 |
0.0.1-alpha15
這個版本修正了下列錯誤:
| 問題 | 說明 |
|---|---|
| 問題 #500417360 | 修正問題:使用 Kotlin 2.1 以上版本執行預覽時,由於 Layoutlib 架構的獨立類別載入器缺少 kotlin-stdlib 依附元件,因此會發生初始化當機 (NoClassDefFoundError)。 |
| 問題 #384188032 | 修正在可組合函式 AndroidView 工廠內膨脹 ViewHolder 物件時,轉譯程序異常終止的問題。 |
| 問題 #351302272 | 解決預覽畫面中可繪製資源載入失敗的問題,這些資源位於同層級或依附的專案模組中。 |
| 問題 #482664893 | 確保螢幕截圖測試擲回例外狀況時,驗證工作會適當失敗,而不是使用過時的螢幕截圖錯誤地成功。 |
| 問題 #497675618 | JVM 涵蓋範圍代理程式 (例如 JaCoCo) 支援可組合類別的檢測。 |
| 問題 #498545960 | 從 JUnit 控制台錯誤堆疊追蹤中,移除內部檔案名稱 (例如 ImageVerifier.kt),以釐清偵錯輸出內容。 |
| 問題 #385613865 | 已移除測試結果 XML 檔案中圖片的絕對路徑用法,並改用相對路徑。 |
| 問題 #513276596 | 確保轉譯失敗時,螢幕截圖測試工作會正確失敗,而不是以空白螢幕截圖無聲通過。 |
| 問題 #340639802 | 解決預覽方法解析衝突,避免測試錯誤比對主要來源集中的相符完整方法名稱。 |
0.0.1-alpha14
這個版本修正了下列錯誤並提升效能:
| 問題 | 說明 |
|---|---|
| 問題 #469819154 | 修正 Compose 轉譯器中的記憶體流失問題。 |
| 問題 #470058578 | 修正更新參考圖片時,使用者介面凍結和記憶體錯誤的問題。 |
| 問題 #422412664 | 修正 Windows 和 GitHub Actions 上「指令列超出作業系統限制」的錯誤。 |
| 問題 #437223807 | 修正多模組專案中的資源和資產解析問題。 |
| 問題 #464899800 | 修正 version.properties 中命名衝突導致的 Gradle 外掛程式衝突。 |
| 問題 #482433854 | 修正使用 kotlin-reflect 或序列化時,可組合項目的初始化錯誤。 |
0.0.1-alpha13
這個版本推出以下功能:
- 與 JDK 17 以上版本相容。
- 修正錯誤,並改善與 Android Studio 的整合。
0.0.1-alpha12
這個版本推出以下功能:
- 與 Android Gradle 外掛程式 (AGP) 9.0 相容。
- 支援在 JDK 24 以上版本執行螢幕截圖測試。
- 支援設定堆積大小上限。
- 修正算繪失敗問題,並提升測試穩定性。
- 加強報表功能,納入與新圖片和參考圖片相關的百分比差異和其他中繼資料。
0.0.1-alpha11
這個版本推出以下功能:
- 與 Android Gradle 外掛程式 (AGP) 8.1 相容。
- 開始支援剖析含有十進位值的 XML 可繪項目,不受主機語言代碼影響。
- 如果主體機器使用 JDK 24 以上版本,系統會挑選相容的 JDK (11-23),前提是已安裝 JDK。
0.0.1-alpha10
這個版本推出以下功能:
從這個版本開始,您必須使用
@PreviewTest註解標記所有預覽函式。如果預覽畫面沒有註解,系統就不會執行。參考圖像目錄已從「
{module}/src/{variant}/screenshotTest/reference」變更為「{module}/src/screenshotTest{Variant}/reference」。這是為了確保產生的參照圖片不會成為正式版程式碼的一部分,並與其他測試類型的目錄結構保持一致。已移除
{variant}PreviewScreenshotRender工作。圖片轉譯作業已遷移至 JUnit 測試引擎。update{Variant}ScreenshotTest工作會先比較新算繪圖片與參考圖片,再進行更新。只有差異大於指定閾值的圖片會更新。已移除--updateFilter指令列旗標。
0.0.1-alpha06
這個版本推出以下功能:
圖片差異門檻:這項新的全域門檻設定可讓您更精細地控管螢幕截圖比較作業。如要設定,請更新模組的 build.gradle.kts:
testOptions {
screenshotTests {
imageDifferenceThreshold = 0.0001f // 0.01%
}
}
這個門檻會套用至模組中定義的所有螢幕截圖測試。
- 修正錯誤:修正部分 Compose 算繪器錯誤,並新增對空白 Compose 的支援。
- 效能提升:更新了圖片差異演算法,速度更快。