Android Room database test
사용 언어: Kotlin 1.8.10
사용 버전: Android Studio Flamingo 2022.2.1
Room database를 만든 다음, 테스트를 해볼 필요가 있을 때, 어떻게 해야 하는지 알아봅시다.
아래는 테스트와 관련된 문서입니다.
https://developer.android.com/training/data-storage/room/testing-db
사용 버전: 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
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.