繁体   English   中英

如何在 Android 中使用单元测试或插桩测试来测试警报管理器

[英]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 操作系统提供的功能并且已经过良好测试。

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

您始终可以在一个函数中提取此代码,然后可以通过常规 J​​Unit / Mockito 组合进行测试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM