Я хочу проверить вызов метода в методе onResume моей Activity. Моя активность расширяет AppCompatActivity.
Вызов метода super.onResume, вызывающий исключение при выполнении теста. Вот ошибка:
java.lang.Exception: Главный петлитель поставил в очередь неисполненные исполняемые файлы. Это может быть причиной сбоя теста. Вам может потребоваться вызов shadowOf (getMainLooper ()). Idle ().
Итак, я решил использовать класс Shadow для подавления вызова метода onResume super.
Класс Shadowкод:
@Implements(FragmentActivity.class)
public class ShadowFragmentActivity extends ShadowActivity {
@Implementation
public void onResume() {
}
}
Вот мой тестовый класс:
@Config(sdk = 24, application = TestApplication.class, shadows={ShadowFragmentActivity.class})
@RunWith(RobolectricTestRunner.class)
public class LoginActivityTest {
//------code-----//
@Test
public void shouldInvokeTrackingOnResume(){
LoginActivity loginActivity = Robolectric.buildActivity(LoginActivity.class).get();
loginActivity = spy(loginActivity);
loginActivity.onResume();
verify(mockAdobe).track(loginActivity);
}
}
Этот теневой класс не решает проблему. Я что-то пропустил? Пожалуйста, совет.