2014-09-15 4 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"를 사용해야한다는 것이 밝혀졌습니다.

관련 문제