2011-10-20 382 views
2

如何使用Robotium驗證我的活動是否正確處理了onPause()onDestroy()onResume()和類似的調用?使用Robotium測試onPause(),onDestroy()使用Robotium

在我Robotium測試,我可以調用的東西像

solo.getCurrentActivity().onKeyDown(0, null); 

,但我怎麼能模擬活動被破壞並重新創建?我不明白,我可以使用任何

solo.getCurrentActivity().onPause() 

solo.getCurrentActivity().onDestroy() 

的方法呢? 這不是Robotium設計的目的嗎?

回答

1

這將破壞你的活動,並創建一個新:

getInstrumentation().runOnMainSync(new Runnable() { 
     @Override 
     public void run() { 
      activity.recreate(); 
     } 
    }); 
    setActivity(null); 
    activity = getActivity(); 

由於調用「activity.recreate()」這僅適用於API 11以上。如果您不關心在此測試中保存/恢復實例狀態,則可以調用「activity.finish()」,而不是所有版本都可用。