因此,我试图将其分解为调用我的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 – 使用单元测试测试通知所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)