Compose 미리보기 스크린샷 테스트 출시 노트

0.0.1-alpha14

이번 출시에는 다음과 같은 버그 수정 및 성능 개선사항이 포함되어 있습니다.

문제 설명
문제 #469819154 Compose 렌더러의 메모리 누수가 수정되었습니다.
문제 #470058578 참조 이미지를 업데이트할 때 UI가 멈추고 메모리 오류가 발생하는 문제 수정
문제 #422412664 Windows 및 GitHub Actions에서 '명령줄이 운영체제 한도를 초과함' 오류가 수정되었습니다.
문제 #437223807 다중 모듈 프로젝트에서 리소스 및 애셋 해결 문제를 수정했습니다.
문제 #464899800 version.properties의 이름 충돌로 인해 발생하는 Gradle 플러그인 충돌이 수정되었습니다.
문제 #482433854 kotlin-reflect 또는 직렬화를 사용하는 컴포저블의 초기화 오류를 수정했습니다.

0.0.1-alpha13

이번 출시에서는 다음이 도입되었습니다.

  • JDK 17 이상과의 호환성
  • 버그가 수정되고 Android 스튜디오와의 통합이 개선되었습니다.

0.0.1-alpha12

이번 출시에서는 다음이 도입되었습니다.

  • Android Gradle 플러그인 (AGP) 9.0과의 호환성
  • JDK 24 이상에서 스크린샷 테스트 실행 지원
  • 최대 힙 크기를 구성하는 지원
  • 렌더링 실패가 수정되고 테스트 안정성이 개선되었습니다.
  • 새 이미지 및 참조 이미지와 관련된 비율 차이 및 기타 메타데이터를 포함하도록 보고서가 개선되었습니다.

0.0.1-alpha11

이번 출시에서는 다음이 도입되었습니다.

  • Android Gradle 플러그인 (AGP) 8.13과의 호환성
  • 호스트 머신의 언어와 관계없이 10진수 값을 사용하여 XML 드로어블을 파싱하는 지원이 추가되었습니다.
  • JDK 24 이상을 사용하는 호스트 머신의 경우 호환되는 JDK (11~23)가 설치되어 있다면 선택됩니다.

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 지원 추가
  • 성능 개선: 이미지 차이 알고리즘이 더 빨라지도록 업데이트되었습니다.