android Unit test는 왜 작성할까?

2022. 4. 12. 17:22android

Q. Test code는 왜 작성하고 중요할까?

여러가지 이유가 있는데 나는 결국 리소스 낭비를 방지하기 위해인 것 같다.

 

테스트를 위해 매번 전체 빌드는 매우 비효율적인 작업이다.

빌드 시간 + 반복적인 작업으로 생산성의 감소가 발생하고,

결국 휴먼 리소스의 낭비로 이어진다.

 

업무의 효율성과 생산성, 코드의 신뢰성을 높이기 위해서는 네거티브 요소들을 배제해야한다.

그러기 위해 테스트코드 작성은 매우 매우 중요하다고 생각한다.

Q. 중적점으로 check할 영역은 어디일까??

1. 비즈니스 로직 
2. Viewmodel 
3. Presenter

instrumented test가 뭐지 ? -> 기기에 올려서 테스트 하는 것.
espresso -> UI 테스트 라이브러리

unit test는 robolectric 라이브러리 활용.

jvm 와 android runtime은 다르다.

robolectric을 이용하여 pc에 있는 java 환경에서
안드로이드 api를 흉내내주어 특정 기능들을 확인할 수 있다.

유닛 테스트말고 퍼미션이나 서브모듈은 젠킨스를 이용할 수 있고
테스트 결과는 Pull Requset의 Comment 나 Checker 로 통합.
일부 테스트 결과 Danger(코드 검토 자동화 도구) 툴 이용
빌드 실패 gradle enterprise log 이용

코드 품질 검사 = Lint
테스트정적 분석 툴 sonarqube -> 구조적인 코멘트
ktlint 포맷팅 검사 등