如何使用mockk Build.VERSION.SDK_INT嘲笑

问题描述 投票:4回答:1

我怎么能嘲笑Build.VERSION.SDK_INT在mockk?

我已经做了以下情况:

@Test
fun testFoo(){
    mockkStatic(Build::class)
    mockkStatic(Build.VERSION::class)
    every {
        Build.VERSION.SDK_INT
    } answers { 22 }
}

我最终得到io.mockk.MockKException: Missing calls inside every { ... } block.一旦代码击中every块。

android testing kotlin android-testing mockk
1个回答
2
投票

你可以围绕生成的配置这样的包装

object MyAppBuildConfig {
    fun getVersionSDKInt(): Int {
        return Build.VERSION.SDK_INT
    }
}

然后用mockkObject嘲笑MyAppBuildConfig,回到你的愿望版本号

    mockkObject(MyAppBuildConfig)
    every { MyAppBuildConfig.getVersionSDKInt() } returns 22
© www.soinside.com 2019 - 2024. All rights reserved.