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
#1035 의 설정·타임레터 몫이다. app/src/androidTest 의 7개를 각 feature 모듈 src/test 로 옮긴다.
왜 옮기나
이 테스트들은 에뮬레이터가 필요 없다. createComposeRule 로 화면을 띄우고 손으로 만든 fake 를 물려 semantics 를 단언할 뿐, Hilt 앱 그래프도 실제 Activity 도 쓰지 않는다.
그런데 app/src/androidTest 에 있다는 이유로 Gradle Managed Device 스위트에 묶여 있고, 그 스위트는 cron: 17 18 * * 2,5 로만 돈다(PR 트리거 없음). 실행 이력 0건이다. 같은 코드가 모듈 src/test 에 있었으면 매 PR :koverXmlReportCi 에서 돌았다.
#1035 가 feature/receiver/presentation 에서 1개를 먼저 옮겨 Robolectric 아래에서 무엇이 깨지는지 정리한다(애니메이션 진행·waitUntil 타이밍이 실기기와 다르다). 그 결과가 나온 뒤 시작하면 같은 함정을 두 번 밟지 않는다.
feature/timeletter/presentation 에는 이미 Robolectric Compose 테스트(TimeLetterWriteScreenTest)가 돌고 있어 설정을 본뜰 수 있다. 두 모듈 모두 libs.robolectric 이 이미 선언돼 있다.
전부 옮기는 게 목표가 아니다
파일럿에서 Robolectric 이 감당 못 하는 게 드러나면 그 파일은 app 에 남긴다. 옮길 수 있는 걸 옮겨 PR 마다 돌게 만드는 게 목표다.
완료 조건
옮긴 파일이 :koverXmlReportCi 로 실행되고 통과한다
app/src/androidTest 에서 사라지고 :app:compileDebugAndroidTestKotlin 이 통과한다
Activity
[-]test(setting,timeletter): 에뮬레이터 불필요 androidTest 7개를 feature 모듈 src/test 로 (#1035 실행분)[/-][+]에뮬레이터 불필요 androidTest 7개를 feature 모듈 src/test 로 (#1035 실행분)[/+]Merge pull request #1352 from Afternote/test/1089-setting-timeletter-…