【问题标题】:How to test Alarm Manager using Unit Test or Instrumented Test in Android如何在 Android 中使用单元测试或仪器测试来测试警报管理器
【发布时间】:2021-12-06 01:27:04
【问题描述】:

我在测试警报管理器上设置的警报时遇到了问题。我想使用单元测试或仪器测试来检查警报管理器。

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 unit-testing junit alarmmanager instrumented-test


    【解决方案1】:

    我相信您不需要检查是否会按时调用警报管理器,因为这是 Android 操作系统提供的功能并且已经过良好测试。

    相反,您应该专注于您的业务逻辑,即警报响起时将触发的代码。

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

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      • 1970-01-01
      • 2023-03-09
      相关资源
      最近更新 更多