2014-09-15 1 views
0

В моем приложении у меня есть несколько фрагментов в одном действии. Теперь я хочу написать тестовый пример, чтобы проверить, правильно ли загружаются эти фрагменты. Во-первых, я передал какое-то событие касания, чтобы прокрутить его до определенного фрагмента, а затем попытаюсь получить имя этого фрагмента. Ниже мой код для теста: -Тестовый кейс для фрагмента в 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 как имя операции, а не имя фрагмента. Что я делаю не так?

ответ

0

Получил решение. Мне было так глупо использовать неправильные компоненты для извлечения фрагмента. Оказывается, я должен использовать «ViewPager» для извлечения фрагментов.