我正在使用PeriodicWorkRequest创建应用程序来执行或触发每天更改内容的通知。它工作顺利,但我想测试第二天的内容,我在这种情况下搜索,但没有达到最佳解决方案。我试图改变设备的一天,但它仍然无法正常工作
val notificationWorkBuilderRepeated = PeriodicWorkRequest
.Builder(Notification::class.java, 1, TimeUnit.DAYS)
.setInputData(inputData)
.build()
WorkManager.getInstance().enqueue(notificationWorkBuilderRepeated)
这里最好的方法是使用WorkManagerTestInitHelper
编写一些androidTest。
此助手提供了一个自定义驱动程序,您可以使用它来测试模拟已满足周期性延迟的PeriodicWorkers:
val testDriver = WorkManagerTestInitHelper.getTestDriver()
// Tells the testing framework the period delay is met
testDriver.setPeriodDelayMet(request.id)
由于我第一次与Work Manager一起工作,我也遇到了这个测试问题。
我刚刚减少了15分钟的间隔并进行了测试。
目前每小时工作正常。
您也可以通过给出15分钟(最小间隔)来测试它。
希望它能帮到你。谢谢。