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 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 만들기)