gadfi
@gadfi
https://gamega.org

Почему shadowOf(activity).getOptionsMenu(); возвращает null?

Здравствуйте.
С тестами опыта нет (как то не все готовы оплачивать, а у тех кто готов не те задачи которые требуют тестирования)
Простой пример с robolectric

@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21)
public class MainActivityTest {
    @Test
    public void onCreateShouldInflateTheMenu() {
        Activity activity = Robolectric.setupActivity(MainActivity.class);

        final Menu menu = shadowOf(activity).getOptionsMenu();
      
       assertThat(menu.findItem(R.id.action_settings).getTitle()).isEqualTo("Settings");
    }
}


падает с нпе так как menu null, зато хоть
@RunWith(RobolectricGradleTestRunner.class)
@Config(constants = BuildConfig.class, sdk = 21)
public class MainActivityTest {
    @Test
    public void onCreateShouldInflateTheMenu() {
        Activity activity = Robolectric.setupActivity(MainActivity.class);

        final Menu menu = shadowOf(activity).getOptionsMenu();
        assertThat(menu).isEqualTo(null);
    }
}

зеленый =))
Пример почти один в один с оф доки, как это лечится ?
  • Вопрос задан
  • 98 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы