Я пытаюсь написать единичный тест для Activity, который использует ActionBar в табу-режиме. на вкладке слушателя моей деятельности Я заменяю текущий фрагмент другим фрагментом (MyListFragment, MyContentFragment) В моем простом модульном тесте я хочу проверить, отображаются ли нужные фрагменты при нажатии соответствующей вкладки.Панель тестирования тестового блока Android с вкладками и фрагментами
Мой блок-тест выглядит следующим образом.
public class TestMyActivity
extends android.test.ActivityInstrumentationTestCase2<MyActivity>
@Override
protected void setUp() throws Exception
{
super.setUp();
this.activity = getActivity();
}
@UiThreadTest
public void testSelectContentTab()
{
ActionBar actionBar = this.activity.getActionBar();
Tab tab_list = actionBar.getTabAt(0);
Tab tab_content = actionBar.getTabAt(1);
actionBar.setSelectedNavigationItem(1);
assertEquals(1, actionBar.getSelectedNavigationIndex());
FragmentManager fm = this.activity.getFragmentManager();
Fragment currentFragment =
fm.findFragmentById(resourceIdOfTab_navigation_fragment_container);
assertTrue(currentFragment instanceof MyContentFragment);
}
}
Тест терпит неудачу, потому что currentFragment не является экземпляром MyContentFragment, как ожидалось, но экземпляр MyListFragment Althoug теста на selectedNavigationIndex работает отлично. Может ли кто-нибудь помочь или предложить какое-либо предложение? Спасибо.