如何在Android中使用单元测试或仪器测试来测试告警管理器



我在测试闹钟管理器上设置的闹钟时遇到了一个问题。我想用单元测试或仪表测试来检查告警管理器

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操作系统提供的功能,并且已经经过了很好的测试。

相反,你应该关注你的业务逻辑是什么,即当警报响起时将被触发的代码片段。

您总是可以将这些代码提取到一个函数中,然后可以通过常规的JUnit/Mockito组合进行测试。