【Android】UnitTestでLiveDataから値を取得する
UnitTest で LiveData から値を取得するために、iosched のプロジェクトでは以下のリンクのように LiveDataTestUtil を実装しているようです。
これを Kotlin Coroutines で書き直してみました。
これで以下のような形でテストを書くことができます。
class MyViewModel : ViewModel() { val isLoading = MutableLiveData(false) ... } class MyViewModelTest { @get:Rule val instantTaskExecutorRule = InstantTaskExecutorRule() @Test fun testSample() = runBlocking { val viewModel = MyViewModel() Truth.assertThat(viewModel.isLoading.awaitValue).isFalse() } }