목록 보기
테스트 코드, 안드로이드에서는 어떻게 작성해야 할까?
프론트엔드

테스트 코드, 안드로이드에서는 어떻게 작성해야 할까?

뱅크샐러드
뱅크샐러드
2020년 2월 20일

두줄요약

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 비대화 가능성
  • 서비스 규모와 구조에 맞춘 테스트 범위·구조 선택 필요

다음 읽기

같은 회사의 연관 글

뱅크샐러드 iOS팀이 숨쉬듯이 테스트코드 짜는 방식 3편 - 스펙별 단위 테스트

iOS 앱의 스펙별 단위 테스트를 쉽게 만드는 TestUtility와 RxTestCase 구조를 소개했습니다. 로깅·화면 전환부터 TDD를 단계적으로 확장하는 방식을 제안합니다.

뱅크샐러드
뱅크샐러드
프론트엔드

댓글 0개

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...