[英]How to test Alarm Manager using Unit Test or Instrumented Test in 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 组合进行测试。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.