#android #android-notifications #android-workmanager
#Android #android-уведомления #android-WorkManager
Вопрос:
Я создаю приложение, используя PeriodicWorkRequest для выполнения или запуска уведомлений с содержанием, меняющимся каждый день. это работает гладко, но я хочу протестировать содержимое на следующий день, я ищу в этом случае, но не приходит к лучшему решению. я пытаюсь изменить день на устройстве, но он по-прежнему не работает
val notificationWorkBuilderRepeated = PeriodicWorkRequest
.Builder(Notification::class.java, 1, TimeUnit.DAYS)
.setInputData(inputData)
.build()
WorkManager.getInstance().enqueue(notificationWorkBuilderRepeated)
Комментарии:
1. Если вы хотите только протестировать поведение, лучший подход — настроить интервал на основе вкусов. т. Е. Создайте
dev
вкус и для этого сделайте интервал уведомлений примерно таким, например, 5 минут, если уведомление появляетсяdev
через 5 минут, то оно должно появитьсяproduction
через день.
Ответ №1:
Лучший подход здесь — написать некоторый androidTest с использованием WorkManagerTestInitHelper
.
Этот помощник предоставляет пользовательский драйвер, который вы можете использовать для тестирования PeriodicWorkers, имитируя выполнение периодической задержки:
val testDriver = WorkManagerTestInitHelper.getTestDriver()
// Tells the testing framework the period delay is met
testDriver.setPeriodDelayMet(request.id)
Ответ №2:
Поскольку я впервые работал с Work Manager, у меня также возникла эта проблема для тестирования.
Я только что уменьшил интервал на 15 минут и протестировал.
В настоящее время он работает нормально каждый час.
Вы также можете протестировать его, предоставив 15 минут (минимальный интервал) для его тестирования.
Надеюсь, это поможет вам. Спасибо.