MockK 怎么测试View和Fragment
时间: 2024-02-02 21:04:19 浏览: 22
MockK 是一种用于 Kotlin 的 Mock 测试框架,可以用于测试 View 和 Fragment。下面是一些示例:
1. 测试 View
```kotlin
// 示例 View 类
class MyView(context: Context) : View(context) {
fun doSomething(): String {
return "hello"
}
}
// 测试
@Test
fun testMyView() {
val myView = mockk<MyView>()
every { myView.doSomething() } returns "world"
assertEquals("world", myView.doSomething())
}
```
在上面的示例中,我们使用 MockK 模拟了一个 MyView 对象,并指定了它的 doSomething() 方法的返回值为 "world"。然后我们调用 doSomething() 方法,并断言它的返回值是否为 "world"。
2. 测试 Fragment
```kotlin
// 示例 Fragment 类
class MyFragment : Fragment() {
fun doSomething(): String {
return "hello"
}
}
// 测试
@Test
fun testMyFragment() {
val myFragment = mockk<MyFragment>()
every { myFragment.doSomething() } returns "world"
assertEquals("world", myFragment.doSomething())
}
```
在上面的示例中,我们使用 MockK 模拟了一个 MyFragment 对象,并指定了它的 doSomething() 方法的返回值为 "world"。然后我们调用 doSomething() 方法,并断言它的返回值是否为 "world"。
需要注意的是,在测试 Fragment 时,我们需要确保 Fragment 的生命周期已经正确地被模拟了,否则可能会导致测试失败。