如何在 mockk 中模拟 Build.VERSION.SDK_INT?
我做了以下事情:
@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
block 。
最佳答案
您可以像这样围绕构建配置构建一个包装器
object MyAppBuildConfig {
fun getVersionSDKInt(): Int {
return Build.VERSION.SDK_INT
}
}
然后用 mockkObject 模拟 MyAppBuildConfig 并返回你想要的版本号
mockkObject(MyAppBuildConfig)
every { MyAppBuildConfig.getVersionSDKInt() } returns 22
关于android - 如何使用 mockk 模拟 Build.VERSION.SDK_INT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54356739/