kotlin + LiveData 测试

该文章详细讲解了如何在Android应用中使用Kotlin和LiveData进行单元测试,涉及LiveData的观察者模式和Coroutine协调器的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

viewModel测试:https://developer.android.com/codelabs/basic-android-kotlin-compose-test-viewmodel#3

  androidTestImplementation "org.jetbrains.kotlin:kotlin-test:1.9.0"
  androidTestImplementation 'org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3'
import androidx.lifecycle.MutableLiveData
import androidx.test.espresso.action.ViewActions.*
import androidx.test.ext.junit.runners.AndroidJUnit4
import androidx.test.filters.LargeTest
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.Dispatchers.Main
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
import kotlinx.coroutines.test.runTest
import org.junit.Assert.assertEquals
import org.junit.Test
import org.junit.runner.RunWith


@RunWith(AndroidJUnit4::class)
@LargeTest
class  LiveDataTest{

    @Test
    fun testLiveDataValueChange() = runTest {
        val liveData = MutableLiveData("1");
        var observedValue: String? = null
        launch(Main){
            liveData.observeForever { value ->
                observedValue  = value
            }
        }

        // 在协程中进行异步操作
     val job  =   launch(Dispatchers.Default) {
            delay(1000)
            // 更改 LiveData 的值
            liveData.postValue("2")
        }
        job.join()
        assertEquals(observedValue, "2")
        assertEquals(liveData.value, "2")
    }
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值