测试 WorkManager - RUNNING 而不是 ENQUEUED

问题描述

我遵循 this 示例,但我的测试失败了,因为 workInfo.stateRUNNING 而不是 ENQUEUED。有谁知道可能是什么问题?如果我应该提供更多代码/上下文,请告诉我。

解决方法

我不知道为什么,但是向请求添加约束解决了这个问题。不管我设置什么限制,它都成功了。也就是说,测试通过 NetworkType.METEREDNetworkType.UNMETERED

val constraints = Constraints.Builder().setRequiredNetworkType(NetworkType.METERED).build()
val request = PeriodicWorkRequestBuilder<EchoWorker>(15,MINUTES)
        .setInputData(input)
        .setConstraints(constraints) // added this line
        .build()