Android Room database test

사용 언어: Kotlin 1.8.10
사용 버전: Android Studio Flamingo 2022.2.1

안드로이드 Room database test를 알아보겠습니다.


Room database를 만든 다음, 테스트를 해볼 필요가 있을 때, 어떻게 해야 하는지 알아봅시다.

아래는 테스트와 관련된 문서입니다.
https://developer.android.com/training/data-storage/room/testing-db


Room database 테스트는 안드로이드 기기에서 하는 것과 본인 컴퓨터로 하는 방법이 있습니다.

여기서는 JUnit을 사용하여 안드로이드 기기에서 테스트하는 것을 알아봅니다.



androidTest 파일에 우클릭 - New - Kotlin Class/File을 누릅니다.







적당한 이름으로 만듭니다.

저는 RoomDatabaseTest로 만들었습니다.







13 번째 줄처럼 @RunWith(AndroidJUnit4::class)를 적어줍니다.

15 번째와 16 번째 줄처럼 Dao와 db 변수를 만듭니다.

18 번째 줄처럼 @Before를 적어줍니다. Before는 Test 이전에 실행되는 함수로 필요한 변수들을 초기화합니다.

그 후, createDb()에 db를 생성하고 dao를 가져옵니다.






그다음, @After를 사용해서 db를 닫아줍니다.

After는 Test가 끝난 후에 실행되는 것으로 해제할 때 사용합니다.







그 뒤, @Test를 사용하여 함수를 하나 만듭니다.

저는 database에서 가져온 값이 null 인지 empty 인지 궁금해서 아래처럼 만들어 봤습니다.


44 번째 줄처럼 assertThat은 해당 사항이 맞으면 통과고 안 맞으면 테스트 실패를 나타냅니다. 여기서는 저는 empty 인지 아닌지 확인하고 있네요.







자, 이제 class가 있는 위로 가서 Run을 누릅니다.






삐빅 실패입니다.

null이 반환되었네요.







여러 개를 테스트하고 싶다면 이렇게 @Test를 여러 개 만듭니다.










끝.



카테고리: Android

댓글

이 블로그의 인기 게시물

Python urllib.parse.quote()

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

음악 총보(Score), 파트보(Part)

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

KiCad 시작하기 3 (새로운 소자 추가하기)

Kivy 시작하기 12 (Pyinstaller로 exe 파일 만들기)

딩기 요트 명칭

Android Compose automation for getting localized images to use on Play Store app image

Android Default background color setting

Android App architecture: State holders and UI state