Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android系統教程 >> Android開發教程 >> Android測試教程(14):ActivityInstrumentationTestCase2示例

Android測試教程(14):ActivityInstrumentationTestCase2示例

編輯:Android開發教程

ActivityInstrumentationTestCase2 用來測試單個的Activity,被測試的Activity可以使用InstrumentationTestCase.launchActivity 來啟動,然後你能夠直接操作被測試的Activity。

ActivityInstrumentationTestCase2 也支持:

可以在UI線程中運行測試方法.

可以注入Intent對象到被測試的Activity中

ActivityInstrumentationTestCase2 取代之前的ActivityInstrumentationTestCase ,新的測試應該使用ActivityInstrumentationTestCase2作為基類。

Focus2ActivityTest 的代碼如下,用於測試Android ApiDemos示例解析(116):Views->Focus->2. Horizontal

public class Focus2ActivityTest     
 extends ActivityInstrumentationTestCase2<Focus2> { 

 private Button mLeftButton;     
 private Button mCenterButton;     
 private Button mRightButton;     

 public Focus2ActivityTest() {     
 super("com.example.android.apis", Focus2.class); 
 }     

 @Override 
 protected void setUp() throws Exception {     
 super.setUp();     
 final Focus2 a = getActivity();     
 mLeftButton = (Button) a.findViewById(R.id.leftButton);     
 mCenterButton = (Button) a.findViewById(R.id.centerButton);     
 mRightButton = (Button) a.findViewById(R.id.rightButton);     
 }     
          
 @MediumTest 
 public void testPreconditions() {     
 assertTrue("center button should be right of left button",     
 mLeftButton.getRight() < mCenterButton.getLeft());     
 assertTrue("right button should be right of center button",     
 mCenterButton.getRight() < mRightButton.getLeft());     
 assertTrue("left button should be focused", mLeftButton.isFocused());     
 }     

 @MediumTest 
 public void testGoingRightFromLeftButtonJumpsOverCenterToRight() {     
 sendKeys(KeyEvent.KEYCODE_DPAD_RIGHT);     
 assertTrue("right button should be focused", mRightButton.isFocused());     
 }     

 @MediumTest 
 public void testGoingLeftFromRightButtonGoesToCenter()  {     

 getActivity().runOnUiThread(new Runnable() {     
 public void run() {     
 mRightButton.requestFocus();     
 }     
 });     
 // wait for the request to go through     
 getInstrumentation().waitForIdleSync();     

 assertTrue(mRightButton.isFocused());     

 sendKeys(KeyEvent.KEYCODE_DPAD_LEFT);     
 assertTrue("center button should be focused",     
 mCenterButton.isFocused());
 }     
}

查看全套教程:http://www.bianceng.cn/OS/extra/201301/35252.htm

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved