unit-testing - 如何在调用包含异步操作的方法时等到 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)
。
解决方案
推荐阅读
- android - LinearLayout android:layout_gravity="center_vertical" 在设计时有效,但在运行时无效
- wso2 - 更改 username_java_script_regex 会导致 401 Unauthorized 错误
- python - 如何在 Windows 10 上安装 Torch 0.4.1?
- html - 文本过长时显示水平滚动条
- java - 为什么不收集垃圾
- python-3.x - 为什么我使用堆栈将数字转换为二进制的 python 代码不起作用?
- css - 如何在我的全局 App.css 中设置引导导航栏的样式?
- ffmpeg - 在 fluent-ffmpeg 中,如何包含多个视频过滤器?
- javascript - 是否可以将已构建和生成的 javascript 文件代码拆分为多个 js 文件?如何?
- javascript - 传单:dragend 功能上的多个标记不起作用