Java Android广播接收器单元测试意图为空
我是Android新手,正在尝试测试braoadcast接收器。 在下面的代码中,意图操作为null,它通过的NullPointerException执行Java Android广播接收器单元测试意图为空,java,android,broadcastreceiver,android-unit-testing,Java,Android,Broadcastreceiver,Android Unit Testing,我是Android新手,正在尝试测试braoadcast接收器。 在下面的代码中,意图操作为null,它通过的NullPointerException执行 @Test public void TestAttachTimeoutIntent() { String intentAction = Constants.actionPrefix + Constants.actionAttach; Context mockContext = mock(Con
@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));
}
@测试
公共无效TestAttachTimeoutinet(){
字符串intentAction=Constants.actionPrefix+Constants.actionAttach;
Context mockContext=mock(Context.class);
SgsLiteBroadcastReceiver broadcastReceiver broadcastReceiver broadcastReceiver=new SgsLiteBroadcastReceiver(null,null);
意向附件=新意向(意向);
附件。putExtra(“结果”,结果与成功);
附件putExtra(“序列号”,3);
onReceive(mockContext,attachinent);
assertNull(broadcastReceiver.getResultData());
ArgumentCaptor argumentIntent=ArgumentCaptor.forClass(Intent.class);
验证(mockContext,Mockito.times(1)).startActivity(argumentIntent.capture());
Intent receivedIntent=argumentIntent.getValue();
assertNull(receivedIntent.getAction());
assertEquals(“结果”,receivedEvent.getStringExtra(“结果”);
assertTrue((receivedEvent.getIntExtra(“序列号”,0)!=0));
}