我在测试警报管理器上设置的警报时遇到了问题。我想使用单元测试或仪器测试来检查警报管理器。
val alarmManager1 = context.getSystemService(Context.ALARM_SERVICE) as AlarmManager
val alarmIntent1 = Intent(context, AlarmReceiver::class.java)
val requestCode1 = 1
val pendingIntent1 = PendingIntent.getBroadcast(context, requestCode1, alarmIntent1, 0)
val calendar: Calendar = Calendar.getInstance()
val currentDateTime = LocalDateTime.now()
calendar.set(
currentDateTime.year,
currentDateTime.monthValue - 1,
currentDateTime.dayOfMonth.plus(1),
1,
2,
0
)
alarmManager1.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, calendar.timeInMillis, pendingIntent1)
最佳答案
我相信您不需要检查是否会按时调用警报管理器,因为这是 Android OS 提供的功能并且已经过良好测试。
相反,您应该专注于您的业务逻辑,即警报响起时将触发的代码。
您始终可以在函数中提取此代码,然后可以通过常规 JUnit/Mockito 组合进行测试。
关于android - 如何在 Android 中使用单元测试或仪器测试来测试警报管理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69625415/