从类方法中获取单元测试的意图信息的方法是什么?



我刚刚开始为Android代码编写单元测试并卡住了。

为这种平静的代码写作测试:

Intent intent = new Intent(context, Some.class);
intent.setAction(Some.SYNC_SERVICE_ACTION_SYNC);
context.startService(intent);

我想知道,如果有相同的意图,我可以使用Mockito进行测试类别以进行测试?

在测试中,我试图做这样的事情:

String action = "SyncService.SYNC_SERVICE_ACTION_SYNC";
when(context.startService(any())).thenReturn(Intent);
assertEquals("Do not match", action, Intent.getAction());

也许有人可以帮忙?

我找到了我的问题的答案,并从Mockito测试中获取有关您的班级意图的信息,您应该喜欢:

ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
doReturn(null).when(context.startService(any()));
verify(context).startService(captor.capture());
String intentAction = captor.getValue().getAction();

我希望它能帮助某人!欢呼!

更新

由于某种原因无法使用

doReturn(null).when(context.startService(any()));

而是使用:

when(context.startService(any())).thenReturn(null);

相关内容

最新更新