Android Compose Unit test

사용 언어: Kotlin 1.9.10
사용 버전: Android Studio Giraffe 2022.3.1 Patch 2

안드로이드 Compose Unit test를 알아보겠습니다.


Unit test(유닛 테스트, 단위 테스트)는 작성한 함수의 기능이 올바르게 작동하는지 확인하기 위해 사용합니다.
일일이 앱을 실행하여 확인하기보다는 자동으로 확인하기 때문에 유지 보수 시간을 줄일 수 있습니다.

또 다른, Instrumentation test(계측 단위 테스트)가 있습니다. 파일 옆에 AndroidTest라고 적혀 있는데요. 이러한 테스트는 Android Framework와 관련된 테스트나 UI와 관련된 테스트를 진행할 때 사용합니다. 예를 들면 Room Database의 테스트의 경우 Android 환경이 필요합니다. 이럴 때 Instrumentation test를 사용합니다.
이번 시간에는 Unit test만 다룹니다.

먼저 test 파일을 생성합니다. 있다면 있는 파일을 사용하시면 됩니다.

프로젝트로 갑니다.





app - src - 우클릭 - New - Directory를 누릅니다.





test\java를 선택합니다.




그러면 폴더가 생기는데요. 여기서

test - java - 우클릭 - New - Package를 누릅니다.






현재 패키지와 동일한 이름을 적어줍니다.







Android로 돌아오면 이렇게 파일이 보입니다.

패키지명 - 우클릭 -  New - Kotlin Class/File을 누릅니다.






적당한 이름으로 지어줍니다.






테스트할 함수로 갑니다.

저는 currentPageUpdate를 테스트할 겁니다.

126번째 줄처럼 @VisibleForTesting으로 Test가 접근할 함수라는 것을 알립니다.

적당한 visible modifier를 설정해 줍니다. public보다는 internal이 좋습니다.






다시 ArtSpaceAppTest로 돌아옵니다.

9번째 줄처럼 함수 이름은 무엇을 테스트하는지 명확히 적어줍니다.

13번째 줄처럼 assertEquals를 해서 currentPage가 0이라고 확신을 해줍니다.

이제, 이 확신이 틀리다면 테스트는 오류를 뿜을 것이고 맞는다면 조용히 지나갈 겁니다.








Class 옆 Gutter에 있는 저 재생 표시를 눌러줍니다.

Run을 누르면 Class에 있는 모든 테스트가 실행됩니다.






아래 Run을 보면 Test Results에 체크 표시가 뜹니다.






일부러 잘못된 것을 넣어볼까요?





이렇게 오류가 나옵니다.




여기서는 다루지 않지만, Instrumentation Test 파일 만드는 법까지만 알아봅시다.



동일하게 Project로 간 뒤, src에서 Directory를 새로 만듭니다. 이름을 androidTest\java로 만들고 똑같이 패키지를 넣어주고 클래스를 만들면 준비 끝입니다.






해당 코드는 여기서 볼 수 있습니다.

https://github.com/shwoghk14/Art-Space-App




끝.



카테고리: Android, Compose

댓글

이 블로그의 인기 게시물

Python OpenCV 빈 화면 만들기

Python urllib.parse.quote()

Python bytes.fromhex()

Android AVD Ram size change

Forensics .pyc 파일 .py로 복구하기

Android Minimum touch target size

KiCad 시작하기 7 (FreeRoute 사용하기 2)

Android Notification with Full Screen

C++ OpenCV 모폴로지 침식, 팽창

KiCad 시작하기 2 (PCB 만들기)