unit-testing - Kotlin-mockk 链式调用
问题描述
我正在尝试使用 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。尝试使缓存无效并重新启动。
我有什么遗漏/做错了吗?
参考:
解决方案
推荐阅读
- rx-java2 - 房间和 RX Java
- javascript - Gulp - 分配失败 - javascript堆内存不足
- ios - 如何使用 FLAnimatedImage 只运行一次我的 gif?
- android - 如何在 Android Studio 中为预构建库设置本地 cpp 源路径
- android - 将通知推送到 android 应用程序而无需访问数据库
- php - PHP .CSV 文件阅读器空格
- oracle - 在 oracle 视图上使用 BETWEEN 进行 DATE 查询
- php - 我想在我的 Twig 模板中读取 JSON 文件
- python - Discord.py 从 DM 获取消息
- android - 滑动时 ViewPager 太慢