我正在尝试使用 Kotlin 中的 mockk 库在我的单元测试中执行链式调用。下面是我的代码:
@MockK
lateinit var crypto: Crypto
@Before
fun setUp() {
MockKAnnotations.init(this, relaxUnitFun = true)
}
@Test
fun testCryptoFunc() {
// Given
// When
every { crypto.sayHello() } returns "gg" // This works
every { crypto.sayHelloTwice("w").sayHello() } returns "gg" //sayHello() is unresolved
// Then
//val c = crypto.sayHelloTwice("ss")
//print("rr")
}
而我的实现代码:
fun sayHello(): String {
return "hello"
}
fun sayHelloTwice(a: String): String {
return sayHello() + a
}
我正在尝试存根内部调用(sayHello()),但出现未解决的引用错误。根据链调用的 Mockk 文档,它说这应该是有效的。
我试过清理和重建(但遇到编译错误)。尝试重新启动 IDE。尝试使缓存无效并重新启动。
我有什么遗漏/做错了吗?
参考: