В моем приложении у меня есть несколько фрагментов в одном действии. Теперь я хочу написать тестовый пример, чтобы проверить, правильно ли загружаются эти фрагменты. Во-первых, я передал какое-то событие касания, чтобы прокрутить его до определенного фрагмента, а затем попытаюсь получить имя этого фрагмента. Ниже мой код для теста: -Тестовый кейс для фрагмента в android
public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity>
{
MainActivity mMainActivity;
ActionBar tactionbar;
Fragment tFragment;
public static final int TEST_POSITION = 2;
private static String mSelection ;
private int mPos = 0;
public MainActivityTest()
{
super(MainActivity.class);
}
protected void setUp() throws Exception
{
super.setUp();
mMainActivity = (MainActivity) getActivity();
tactionbar = mfoneclay.getActionBar();
}
public void testPreConditions()
{
assertNotNull(mMainActivity);
assertNotNull(tactionbar);
}
public void testFragmentUI()
{
mMainActivity.runOnUiThread(
new Runnable(){
public void run()
{
mMainActivity.getCurrentFocus();
}
});
for (int i = 1; i <= TEST_POSITION; i++)
{
this.sendKeys(KeyEvent.KEYCODE_DPAD_RIGHT);
mPos = tactionbar.getSelectedNavigationIndex();
}
this.sendKeys(KeyEvent.KEYCODE_DPAD_CENTER);
mSelection = (String)tactionbar.getTabAt(mPos).getText();
String resultText = "Exclusive";
assertEquals(resultText,mSelection);
}
}
Здесь, «Exclusive» является именем одного из моей вкладки, к которой я навигации к помощи сенсорного события. Теперь, при запуске тестового примера, я вижу, что он правильно перемещается к фрагменту «Эксклюзив», но результат показывает значение переменной msection как имя операции, а не имя фрагмента. Что я делаю не так?