【发布时间】:2021-04-20 18:37:55
【问题描述】:
在使用Mockk进行Android单元测试时,在声明依赖时使用符号有什么区别?
class Test {
private val x: X = mockk()
private val test = TestClass(x)
...
}
或
class Test {
@MockK
private lateinit var x: X
@InjectMockKs
private lateinit var test: TestClass
@Before
fun setup() {
MockKAnnotations.init(this)
}
...
}
【问题讨论】:
-
什么意思?性能差异,还是结果差异?
-
任何@ChristianB,使用其中一个有什么不同吗?或者它们只是阅读相同内容的好方法?
-
来自doc“它只是让创建模拟变得更简单”。因此,您可以使用
MockKAnnotations.init(this, relaxUnitFun = true)放松所有模拟,而不是为每个模拟单独进行mockk(relaxed = true)。
标签: android unit-testing mockk