테스트 단위 테스트 / UI 테스트 / 인수 테스트 / 그 밖의 테스트
unit test 클래스 단위로 테스트
github.com/junit-team/junit/wiki/Getting-started
mockito.org mockito를 이용한 객체의 목화
testImplementation 'junit:junit:4.12'
testImplementation "org.mockito:mockito-core:1.+"
build.gradle android 내의 testOptions{ unitTests.returnDefaultValues = true }
유닛테스트 예외 던지지 않도록

mock(클래스) / spy(생성) / verify(객체, times(횟수)).함수명((클래스)any());
when(객체.함수).thenReturn(밸류); 호출했을 때 밸류를 넘긴다
아래는 기존 클래스 처리하지 않기 위해
doReturn(밸류).when(객체).함수(밸류);
doNothing().when(객체).함수(밸류);

@VisibleForTest 기능없지만 테스트용이라고 표시

Factory, InjectMock, DI 컨테이너 등 고려

테스트 도입시 코드를 새로 작성 or 기존 코드 편집시 테스트 준비
메서드가 길면 분리 / 리팩터링 리팩터->익스트랙트->메서드

테스트를 위해 메서드내 객체는 인수화
블로그 이미지

dev김

안드로이드 개발자로 만 4년이 좀 안되게 근무했었고 그 이상의 공백을 가지고 있다. 다시 현업에 복귀하기 위한 노력의 흔적을 담으려고 한다.

,