
테스트 코드, 안드로이드에서는 어떻게 작성해야 할까?
두줄요약
Android MVP 구조에서 변경 기능과 Presenter 로직을 중심으로 테스트하는 원칙을 소개했습니다. View 의존 영역은 Instrumented Test나 로직 분리로 검증하는 방법을 설명합니다.
문제 상황
- 빠른 배포 주기와 테스트 부재 영역의 장애·반복 핫픽스 위험
- Android 프레임워크 의존 View 로직과 RecyclerView ViewHolder의 단위 테스트 사각지대
해결 방법
- 수정·변경되는 모든 기능에 대한 테스트 코드 필수화
- MVP Presenter의 presenting logic을 View 인터페이스 mock과 Mockito 검증으로 단위 테스트
- Android 의존 로직은 Instrumented Test 적용 또는 Presenter로 로직 분리
구조와 흐름
- 유즈케이스와 View 인터페이스 mock 구성 후 Presenter 함수 호출
- verify, inOrder, never, times를 활용한 View 함수 호출 여부·순서·횟수 검증
- ViewHolder → Adapter → Presenter 흐름으로 presenting logic 이동 후 Presenter 테스트
주의할 점
- 복잡한 View 로직을 Presenter로 옮길 경우 Presenter 비대화 가능성
- 서비스 규모와 구조에 맞춘 테스트 범위·구조 선택 필요


