小编use*_*888的帖子

Mockk 模拟 Kotlin 中的私有属性

我有一个带有私有字段的简单类。

class EmployeeData {

    private var employeeAge: Int = 0
    
    fun getAge(): Int {
        return 1 + employeeAge
    }
}
Run Code Online (Sandbox Code Playgroud)

employeeAge我正在尝试使用官方文档中的以下内容来测试此私有内容

@Test
fun testPrivateAge() {

    val mock = spyk(EmployeeData())

    every {
        mock getProperty "employeeAge"
    } propertyType Int::class answers { fieldValue + 6 }
    every {
        mock setProperty "employeeAge" value any<Int>()
    } propertyType Int::class answers  { fieldValue += value }


    every { mock getProperty "employeeAge" } returns 33
    every { mock setProperty "employeeAge" value less(5) } just Runs

    assertEquals(10,mock.getAge())
} …
Run Code Online (Sandbox Code Playgroud)

testing android unit-testing mockk

10
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

mockk ×1

testing ×1

unit-testing ×1