Я пишу тесты для своего приложения для Android, и мне нужно смоделировать метод из моего класса, который вызывается в методе, который я тестирую.Это мой класс:
public class MyFirebaseMessagingService extends FirebaseMessagingService {
.....
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
if (!isAppOnForeground(this)) {
DoSomeThing();
}
}
}
public boolean isAppOnForeground(Context context) {
return isAppOnForeground;
}
}
Я хочу проверить onMessageReceived
метод, когда isAppOnForeground
возвращает true и false.
Я пытаюсь
@Test
public void onMessageReceived() {
MyFirebaseMessagingService mockMyFirebaseMessagingService = org.mockito.Mockito.mock(MyFirebaseMessagingService.class);
when(mockMyFirebaseMessagingService.isAppOnForeground(any(Context.class))).thenReturn(false);
mockMyFirebaseMessagingService.onMessageReceived(remoteMessage);
...
}
Но когдаЯ запускаю этот тест, я не вижу вызова в методе onMessageReceived
(точки останова не работают).Как я могу издеваться isAppOnForeground
и звонить onMessageReceived
?