首页 > 解决方案 > 如何在调用包含异步操作的方法时等到 io.mockk 捕获的插槽被填充?(单元测试)

问题描述

PS:Kotlin 中的代码

在我的单元测试中,

我有一个名为 slot 的可变字符串列表

val slot = mutableListOf<String>()

我捕获了这个插槽列表

every { someService.whateverMethod(capture(slot)) } just Runs

在某些测试结束时,我检查插槽的大小。

slot.size shouldBe 2

我测试的一个方法包含异步操作。因此,我应该Thread.sleep(1000)在检查插槽大小之前写(slot.size shouldBe 2

如何拒绝Thread.sleep(1000)操作,并做一些会等待1秒的东西。类似的东西verify(timeout = 10000)

标签: unit-testingtestingkotlinmockk

解决方案


推荐阅读