#1030 의 `feature/afternote/domain` 몫이다. **1종 3벌 → 1벌.** `AfternoteRepository` 3벌: ``` app/src/androidTest/.../AfternoteAuthorAndroidTest.kt FakeAfternoteRepository app/src/androidTest/.../AfternoteAuthorExtendedAndroidTest.kt AdvancedAfternoteRepository app/src/androidTest/.../AfternoteAuthorImplementedCoverageAndroidTest.kt ImplementedCoverageAfternoteRepository ``` 세 파일이 이 배치 전용이라 다른 배치와 파일이 겹치지 않는다. 그래도 앞 배치가 `TestFakes.kt` 의 공용 fake 를 바꾸면 이 파일들이 그걸 참조할 수 있어 순서는 뒤에 둔다. ## 규약 픽스처 규약은 #1030 에 정본이 있고 첫 적용은 #1040 이다. 그대로 따른다. - 기본 동작은 **메모리 저장소**, 호출은 전부 기록해 테스트가 사후에 단언한다. - 저장소 동작으로 표현 못 하는 시나리오(경합용 게이트, 스크립트된 실패)는 `onX` 람다로 갈아끼운다. - "이 시나리오에서 호출되면 안 됨" 은 `strict()` + `unexpectedCall(...)` 로 옮긴다. 기본 동작이 관대해져 경계가 사라지지 않게 한다. - 스크립트 큐는 픽스처에 넣지 않는다 — 호출부에서 `ArrayDeque` 를 들고 `onX` 로 물린다. - **단언 자체는 바꾸지 않는다.** 기록 접근자 이름이 달라지는 것까지만 허용하고, 의미가 바뀌어야 한다면 별건으로 분리한다. ## 완료 기준 - 이 모듈의 계약별 fake 가 `src/testFixtures` 정본 1벌(+시나리오 파라미터)로 접힌다. - 계약에 메서드를 추가하면 `:<모듈>:compileDebugTestFixturesKotlin` 이 실패하는 것을 실측한다. - `:koverXmlReportCi` `:konsist:test` `:app:compileDebugAndroidTestKotlin` `ktlintCheck` 통과.
Activity
[-]test(afternote): AfternoteRepository fake 3벌을 testFixtures 1벌로[/-][+]AfternoteRepository fake 3벌을 testFixtures 1벌로[/+]Merge pull request #1347 from Afternote/test/1044-afternote-test-fixt…