docs(agent): 테스트 범위를 로직으로 제한한다

This commit is contained in:
2026-08-04 11:44:58 +09:00
parent f50f987282
commit d20d6aa971
5 changed files with 16 additions and 16 deletions

View File

@@ -34,13 +34,14 @@
./gradlew :app:test
./gradlew :app:testDebugUnitTest
./gradlew :app:testReleaseUnitTest
./gradlew :app:connectedDebugAndroidTest
```
주의:
- `:app:connectedDebugAndroidTest`는 기기/에뮬레이터 연결이 필요하다.
- 기본 자동 검증은 `app/src/test`의 로직/local unit test만 사용한다.
- 사용자가 명시적으로 요청하지 않으면 `app/src/androidTest` UI/계측 테스트를 작성하거나 `:app:connectedDebugAndroidTest`를 실행하지 않는다.
- 사용자가 명시적으로 요청하지 않으면 기기·에뮬레이터 UI 조작, 스크린샷 캡처, 시각 QA를 검증 계획이나 완료 증거에 포함하지 않는다.
- UI 변경은 adapter 분기, mapper, formatter, presentation model, 라우팅 등 화면 표현을 결정하는 로직만 테스트한다. View 크기·margin·padding·constraint·visibility 같은 레이아웃 속성 테스트는 작성하지 않는다.
- `app/build.gradle``lint { checkReleaseBuilds false }`가 있어 릴리스 린트는 `:app:lintRelease`를 명시 실행해야 한다.
- 현재 `app/src/androidTest`에는 테스트 소스가 없으므로 계측 테스트 명령은 신규 테스트 추가 시 사용한다.
### 1) 단일 테스트 실행 (중요)
로컬 단위 테스트(`app/src/test`)는 `--tests` 필터를 사용한다.
@@ -144,14 +145,6 @@ Chat Action Phase 테스트 예시:
- 한글 테스트명을 `--tests`로 실행할 때도 클래스명과 메서드명을 포함한 전체 문자열을 따옴표로 감싼다.
- 메서드 매칭이 불안정하면 클래스 단위로 먼저 실행한다.
### 2) 계측 테스트 클래스/메서드 타깃 실행
Gradle 인자 방식:
```bash
./gradlew :app:connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=kr.co.vividnext.sodalive.SomeInstrumentedTest
./gradlew :app:connectedDebugAndroidTest -Pandroid.testInstrumentationRunnerArguments.class=kr.co.vividnext.sodalive.SomeInstrumentedTest#someMethod
```
ADB 대안:
```bash
adb shell am instrument -w -e class kr.co.vividnext.sodalive.SomeInstrumentedTest#someMethod <test_package>/<runner>
```
### 2) UI/계측 테스트 예외
- UI/계측 테스트가 반드시 필요한 경우에도 사용자의 명시 요청을 먼저 확인한다.
- 승인된 작업에서만 해당 Task의 계획 문서에 대상, 실행 명령, 종료 조건과 정리 절차를 기록하고 실행한다.