java - Android广播接收器单元测试IntentAction为空
问题描述
我是 Android 新手,正在尝试测试广播接收器。下面的代码中的 Intent 操作为 null,并且通过 NullPointerException。
@Test
public void TestAttachTimeoutIntent() {
String intentAction = Constants.actionPrefix + Constants.actionAttach;
Context mockContext = mock(Context.class);
SgsLiteBroadcastReceiver broadcastReceiver = new SgsLiteBroadcastReceiver(null, null);
Intent attachIntent = new Intent(intentAction);
attachIntent.putExtra("result", RESULT_SUCCESS);
attachIntent.putExtra("sequence_number", 3);
broadcastReceiver.onReceive(mockContext, attachIntent);
assertNull(broadcastReceiver.getResultData());
ArgumentCaptor<Intent> argumentIntent = ArgumentCaptor.forClass(Intent.class);
Mockito.verify(mockContext, Mockito.times(1)).startActivity(argumentIntent.capture());
Intent receivedIntent = argumentIntent.getValue();
assertNull(receivedIntent.getAction());
assertEquals("result", receivedIntent.getStringExtra("result"));
assertTrue((receivedIntent.getIntExtra("sequence_number", 0) != 0));
}
解决方案
推荐阅读
- linux - 如何避免 PC/104 的 Linux 中 I/O 物理地址冲突?
- string - 从字符串 PowerShell 中删除文本
- python - python没有响应
- xamarin.forms - 在最大长度为 1 之后关注下一个条目
- entity-framework-core - 在与多个实体的一对一关系中具有可为空的外键
- javascript - 按下空格键时在图像之间切换(js)
- python-3.x - Django pypdftk - subprocess.CalledProcessError
- r - 使用 rjags 的贝叶斯逻辑回归
- iis - IIS UrlRewrite:如何从域重写为域和路径
- python - 无法让我的函数在 Python 中满足 while 循环条件