协程测试导致的异步问题


#1

源码

测试类中的测试函数每个单独运行是可以 pass 的,但是直接运行整个测试类则导致部分测试无法 pass
具体逻辑是,通过 WatchService 监听文件的变化,然后通过 Channel 发送到接收端(这里为测试函数)。
debug 发现每个文件的注册(Path.subscribe)都成功了(添加到了 map 中, watchKey 没区别,因为处于同一目录),但是在 watchKey.pollEvents 中没有后注册的两个文件的事件,导致本地测试超时,失败
而在 Github Actions 上的 gradle build 却可以通过测试,请问这是什么原因导致的呢?


京ICP备16022265号-2 Kotlin China 2017 - 2018