如何模拟FirebaseInstanceId? 我只想在调用该方法时
FirebaseInstanceId.getInstance().getToken()
它应该返回一个空字符串。
我也尝试过使用PowerMockRunner。
@RunWith(PowerMockRunner.class)
@PowerMockRunnerDelegate(JUnit4.class)
@PrepareForTest({ FirebaseInstanceId.class})
public class NotificationServiceTest {
当我执行以下操作时:
FirebaseInstanceId firebaseInstanceId = mock(FirebaseInstanceId.class);
Mockito.when(firebaseInstanceId.getInstance()).thenReturn(firebaseInstanceId);
我收到以下错误: java.lang.RuntimeException:android.os.Process中的方法myPid未被模拟。有关详细信息,请参见http://g.co/androidstudio/not-mocked。
答案 0 :(得分:0)
您应该致电
FirebaseApp.initializeApp(RuntimeEnvironment.application)
在测试用例中,如果您使用的是Robolectric或通过相关的Application