AI Briefing

뱅크샐러드, MVP 아키텍처 기반 안드로이드 테스트 코드 작성 원칙 공개

·2020.02.20 09:00

핵심 내용

뱅크샐러드 안드로이드 팀이 MVP 패턴과 Clean Architecture를 적용해 Presenter 로직 중심의 테스트 코드 작성 원칙과 사각지대 해결 방안을 공유했다.

자세히 보기

뱅크샐러드 안드로이드 팀은 MVP 패턴과 Clean Architecture를 기준으로 테스트 코드 작성 원칙을 수립했다. 수정되는 모든 기능에 대해 테스트 코드를 필수로 작성하며, 특히 Presenter의 presenting logic 검증에 집중한다. View는 passive하게 설계하여 직접 테스트하지 않고, 로직이 View에 포함될 경우 Instrumented Test 작성이나 Presenter로 로직 분리 리팩토링을 수행한다.

Presenter 단위 테스트 전략

테스트는 Mockito 라이브러리를 활용해 View 인터페이스와 의존성을 Mocking하여 수행한다. Mockito.verify를 통해 뷰 함수 호출 여부, Mockito.inOrder를 통해 호출 순서, Mockito.times를 통해 호출 횟수를 검증한다. 이를 통해 비즈니스 로직 의존 없이 Presenter의 presenting logic만 순수하게 테스트할 수 있다.

사각지대 해결 및 리팩토링

Android 패키지 의존성으로 인해 ViewHolder 내부의 뷰 로직 테스트가 어려운 사각지대를 해결하기 위해 두 가지 방법을 제시했다. 하나는 Instrumented Test를 작성하는 것이며, 다른 하나는 ViewHolder의 presenting logic을 Presenter로 이동하는 리팩토링이다. 후자의 경우 SaladView와 SaladHandler 인터페이스를 도입해 ViewHolder가 View 구현체로서 동작하도록 하고, Presenter가 ViewHolder의 로직을 처리하게 하여 단위 테스트가 가능하도록 구조를 변경한다.

이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.

AI 처리 방식을 확인하거나, 요약 오류와 출처 표기 문제, 삭제 요청을 문의 · 건의로 알려주세요.