본문 바로가기
728x90

안드로이드/UnitTest5

안드로이드 테스트 Mock Web Server response josn 값을 저장할 파일을 resources 폴더를 만들고 하위에 저장(newsresponse.json) setUp()함수에서 mockWebServer생성하고 newAPIService는 일반 apiservice와 같다 package com.ej.android_cleanarchitecture_newsapiclient.data.api import com.google.common.truth.Truth import com.google.common.truth.Truth.assertThat import kotlinx.coroutines.runBlocking import okhttp3.mockwebserver.MockResponse import okhttp3.mockwebserver.MockWebS.. 2022. 12. 13.
안드로이드 livedata 테스트 https://github.com/robolectric/robolectric GitHub - robolectric/robolectric: Android Unit Testing Framework Android Unit Testing Framework. Contribute to robolectric/robolectric development by creating an account on GitHub. github.com androidx 테스트를 하기위해서는 robolectirc 모듈을 사용한다. LiveDataTestUtil.kt https://github.com/android/architecture-components-samples/blob/master/GithubBrowserSample/app/src/t.. 2022. 12. 11.
안드로이드 AndroidTest (room dao test) @RunWith(AndoridJUnit::class) 작성 dependency 추가해야 사용할 수 있음 testImplementation "androidx.test:core:1.5.0" package com.ej.tmdbclient.data.db import android.app.Application import androidx.arch.core.executor.testing.InstantTaskExecutorRule import androidx.room.Room import androidx.test.core.app.ApplicationProvider import androidx.test.ext.junit.runners.AndroidJUnit4 import com.ej.tmdbclient.data.mod.. 2022. 12. 11.
안드로이드 UnitTest Mock InstantTaskExecutorRule을 이용하면 안드로이드 구성요소 관련 작업들을 모두 한 스레드에서 실행되게 한다. 그러므로 모든 작업이 synchronous하게 동작하여 테스팅을 원활하게 할 수 있다. 즉 동기화 때문에 고민할 필요가 없어진다. Mock을 사용하여 Calculations 객체 생성 후 when thenReturn을 사용하여 해당 함수 리턴값 설정 package com.anushka.circlecalc import androidx.arch.core.executor.testing.InstantTaskExecutorRule import com.google.common.truth.Truth import com.google.common.truth.Truth.assertThat import.. 2022. 12. 11.
안드로이드 UnitTest https://truth.dev/ Truth - Fluent assertions for Java and Android What is Truth? Truth is a library for performing assertions in tests: assertThat(notificationText).contains("testuser@google.com"); Truth is owned and maintained by the Guava team. It is used in the majority of the tests in Google’s own codebase. Why use truth.dev junit4 랑 truth를 사용하여 테스트 class MyCalc : Calculations { private val .. 2022. 12. 11.
728x90