我们编写单元测试的正常方法是通过Mockito使用模拟。但是,LocalBroadcastManager
,由于一些无法解释的原因, final - 从而阻止了Mockito扩展它,这阻止我们mock
/ spy
它...... / p>
- >如何为包含LocalBroadcastManager的类编写单元测试?
我想举例说,当某些情况发生时,我会检查是否会发出某些广播(包含特定的附加内容)。
答案 0 :(得分:1)
使用PowerMock:
使用PowerMock运行测试类:
@RunWith(PowerMockRunner.class)
@PrepareForTest({LocalBroadcastManager.class})
然后在您要测试静态方法的任何地方,执行以下操作:
PowerMockito.mockStatic(LocalBroadcastManager.class);
LocalBroadcastManager instance = mock(LocalBroadcastManager.class);
PowerMockito.when(LocalBroadcastManager.getInstance(context)).thenReturn(instance);