You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
screenshotTest 소스셋 부재 — 스크롤 없는 화면 9개 baseline + 360×800dp 변형 #1130
feature/setting 과 feature/timeletter 에는 screenshotTest 소스셋이 없다. 시각 회귀 baseline 을 가진 모듈은 core/ui(24) · feature/afternote(19) · feature/receiver(22) · feature/onboarding(10) · feature/home(2) 뿐이다.
동시에 이 두 모듈에는 verticalScroll / LazyColumn / Pager 가 전혀 없는 화면이 9개 있다.
모듈
화면
기존 @Preview
setting
AppLockSetupScreen
3
setting
PushNotificationScreen
2
setting
PassKeyScreen
1
setting
PassKeyPasswordScreen
1
setting
PassKeyMakingScreen
1
setting
ConnectedAccountsScreen
1
setting
WithdrawConfirmScreen
0
setting
ReceiverEditScreen
0
timeletter
TimeletterScreen
3
왜 다루는가
앱 전체에 고정 dp 리터럴이 1566개(그중 width/height/size 고정 508개)인데 반응형 API 사용은 2파일뿐이다. 스크롤이 없는 화면은 세로 공간이 모자라면 그대로 잘린다.
그런데 지금까지 실기 QA 는 전부 한 기기(1080×2400 @420dpi)에서만 돌았고, 그 에뮬레이터는 override 때문에 실효 446×967dp — 국내 보급형(360×800dp)보다 폭 24%·높이 21% 넓은, 잘림이 구조적으로 안 잡히는 화면이었다(#1129 에서 정비).
screenshotTest 가 있는 모듈은 CI 가 좁은 화면 회귀를 대신 잡아 줄 수 있다(#1128 에서 onboarding·receiver 9개 화면에 360×800dp 변형 추가). 이 두 모듈은 인프라가 없어 그 방법을 쓸 수 없다.
무엇을 한다
feature/setting/presentation · feature/timeletter/presentation 에 screenshotTest 소스셋 추가 — 다른 모듈과 동일하게 build.gradle.kts 에 screenshotTestImplementation(libs.screenshot.validation.api) + screenshotTestImplementation(libs.androidx.compose.ui.tooling).
위 9개 화면의 baseline 작성. 기본 크기 + 360×800dp(device = "spec:width=360dp,height=800dp,dpi=320") 변형.
baseline 생성은 screenshot-baseline 절차(docker amd64)를 따른다 — 로컬(macOS/arm64) 렌더는 폰트 AA·아키텍처 차이로 CI 와 픽셀이 달라진다.
참고 구현: feature/receiver/presentation/src/screenshotTest/kotlin/.../SenderDetailScreenScreenshotTest.kt
참고
WithdrawConfirmScreen 과 ReceiverEditScreen 은 @Preview 자체가 없어 프리뷰부터 필요하다.
changed the title [-]test(setting·timeletter): screenshotTest 소스셋 부재 — 스크롤 없는 화면 9개 baseline + 360×800dp 변형[/-][+]screenshotTest 소스셋 부재 — 스크롤 없는 화면 9개 baseline + 360×800dp 변형[/+]on Aug 28, 2026
Activity
[-]test(setting·timeletter): screenshotTest 소스셋 부재 — 스크롤 없는 화면 9개 baseline + 360×800dp 변형[/-][+]screenshotTest 소스셋 부재 — 스크롤 없는 화면 9개 baseline + 360×800dp 변형[/+]OnlyReadOneBook commentedon Aug 28, 2026
테스트와 production 변경의 소유 경계를 모듈별로 분리했습니다.
koongmai)TimeletterScreenproduction Content 경계: refactor(timeletter): 목록 화면의 screenshotTest용 Content 경계 분리 #1361 (koongmai)PR #1338의
src/main리팩터링은 위 production 이슈 범위로 옮기고, 이 테스트 이슈에서는 production 화면 코드를 수정하지 않는 기준으로 정리합니다.test: 프로덕션 화면 수정을 되돌리고 스크린샷 테스트만 남긴다 (#1130)
Merge pull request #1343 from Afternote/ci/1130-screenshot-apply-roots
Merge pull request #1338 from Afternote/test/1130-setting-timeletter-…