2011-08-11 57 views
1

我正在寫有幾個按鈕的活動測試, 比開始一個新的活動每一個,測試,如果單擊按鈕時正確的活動lauched

我怎麼能知道,如果按鈕開始正確的活動?

這是我到目前爲止有:

public class MainActivityTest extends ActivityUnitTestCase<MainActivity> { 

    private Intent mMainIntent; 


    public MainActivityTest() { 
     super(MainActivity.class); 
    } 


    @Override 
    protected void setUp() throws Exception { 
     super.setUp(); 
     mMainIntent = new Intent(Intent.ACTION_MAIN); 
    } 

    @MediumTest 
    public void testButtonActivityA() { 
     MainActivity activity = startActivity(mMainIntent, null, null); 
     Button buttonActivityA = (Button) activity.findViewById(com.project.R.id.button_activity_a); 
     buttonVoice.performClick(); 
     Intent i = getStartedActivityIntent(); 
     assertNotNull(i); 
     assertTrue(isFinishCalled()); 
    } 
} 

PS:在「isFinishedCalled()」失敗,怎麼會這樣,如果我提出一個新的全屏活動? 謝謝,

+0

活動按鈕在暫停時,沒有完成。 –

+0

這[回答] [1]可能會給你一個線索。 [1]:http://stackoverflow.com/questions/6985758/how-to-see-if-a-sub-activity-was-started-or-not/6986889#6986889 –

回答

1

它失敗,因爲finish()不被調用。

你必須自己完成一個活動,否則當你打開一個新的活動時,它會出現在'堆棧'的頂部,原來的活動被onPause調用,但仍然'活着'。 finish()是一個隱式調用,您可以將代碼編入您的應用程序以銷燬某個活動。

請去閱讀有關Android Activity Lifecycle

然後學會叫when you should call finish()

相關問題