Как смоделировать Build.VERSION.SDK_INT с помощью mockk - PullRequest
0 голосов
/ 25 января 2019

Как я могу смоделировать 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 блок.

1 Ответ

0 голосов
/ 10 февраля 2019

Вы можете создать оболочку вокруг конфигурации Build, как это

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

Затем смоделируйте MyAppBuildConfig с mockkObject и верните номер версии вашего желания

    mockkObject(MyAppBuildConfig)
    every { MyAppBuildConfig.getVersionSDKInt() } returns 22
...