Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/388.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android广播接收器单元测试意图为空_Java_Android_Broadcastreceiver_Android Unit Testing - Fatal编程技术网

Java Android广播接收器单元测试意图为空

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

我是Android新手,正在尝试测试braoadcast接收器。 在下面的代码中,意图操作为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));
    }
@测试
公共无效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));
}