Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 使用单元测试测试通知大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一堆通知类型,包含我想自动测试的条件.我现在的问题是,我知道无法生成通知并检查通知中心生成的UI是否与预期的一样.

因此,我试图将其分解为调用我的BroadcastReceiver并拦截我触发通知的那一点.所以在那时我可以检查通知是否包含我期望的所有设置.我不得不希望它会按预期呈现:-)

在我的build.gradle中,我添加了这个块:

testOptions {
    unitTests.returnDefaultValues = true
}

这开始我的麻烦我创建了Intent并调用接收器:

@RunWith(mockitoJUnitRunner.class)
public class NotificationTest {
    @mock
    Context mmockContext;

    @Test
    public void firsttest() {
        notificationmanager manager = new notificationmanager();
        manager.onReceive(mmockContext,new Intent(notificationmanager.MY_ACTION));
    }
}

这段代码崩溃了NullPointerException,因为我在BroadcastReceiver中有这条好行:

switch(intent.getAction()) {

我可以想象这里发生了什么.模拟API不会创建真正的Intent,我的数据也消失了.我如何测试我的通知实施?我想我想要接下来测试的PendingIntents将无法工作.

我现在能做什么?

解决方法

我现在的解决方案是嘲笑意图如下:

Intent action = spy(new Intent(notificationmanager.MY_ACTION));
doReturn(notificationmanager.MY_ACTION).when(action).getAction();

然而,这只是一种解决方法.后来我遇到了Notification.builder()类在构建器模式中返回null的问题,所以这根本不会修复它.

大佬总结

以上是大佬教程为你收集整理的android – 使用单元测试测试通知全部内容,希望文章能够帮你解决android – 使用单元测试测试通知所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。