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

Android測試教程(15):AndroidTestCase示例

編輯:Android開發教程

AndroidTestCase 為一Android平台下通用的測試類,它支持所有JUnit的Assert方法和標准的setUp 和tearDown 方法。如果 你的測試需要訪問應用的資源或者測試方法依賴於Context,可以使用AndroidTestCase 作為基類。

它的類繼承關系如下 圖所示:

Focus2AndroidTest 測試也是Android  ApiDemos示例解析(116):Views->Focus->2. Horizontal

但測試的側重點不一樣,Focus2AndroidTest 測試的內容無需啟動Activity,而是測試R.layout.focus_2 的布局(資源)中 Focus 的順序是否符合預先設計(可以看作是Activity的一些靜態性能),可以通過FocusFinder的方法來測試Focus的一些靜態 屬性,它的代碼如下:

public class Focus2AndroidTest     
 extends AndroidTestCase {     
 private FocusFinder mFocusFinder;     
          
 private ViewGroup mRoot;     
          
 private Button mLeftButton;     
 private Button mCenterButton;     
 private Button mRightButton;     
          
 @Override 
 protected void setUp() throws Exception {     
 super.setUp();     
          
 mFocusFinder = FocusFinder.getInstance();     
          
 // inflate the layout     
 final Context context = getContext();     
 final LayoutInflater inflater = LayoutInflater.from(context);     
 mRoot = (ViewGroup) inflater.inflate(R.layout.focus_2, null);     
          
 // manually measure it, and lay it out     
 mRoot.measure(500, 500);     
 mRoot.layout(0, 0, 500, 500);     
          
 mLeftButton = (Button) mRoot.findViewById(R.id.leftButton);     
 mCenterButton = (Button) mRoot.findViewById(R.id.centerButton);     
 mRightButton = (Button) mRoot.findViewById(R.id.rightButton);     
 }     
          
 @SmallTest 
 public void testPreconditions() {     
 assertNotNull(mLeftButton);     
 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());     
 }     
          
 @SmallTest 
 public void testGoingRightFromLeftButtonJumpsOverCenterToRight() {     
 assertEquals("right should be next focus from left",     
 mRightButton,     
 mFocusFinder.findNextFocus(mRoot, mLeftButton,     
 View.FOCUS_RIGHT));     
 }     
          
 @SmallTest 
 public void testGoingLeftFromRightButtonGoesToCenter() {     
 assertEquals("center should be next focus from right",     
 mCenterButton,     
 mFocusFinder.findNextFocus(mRoot, mRightButton,     
 View.FOCUS_LEFT));     
 }     
}

testGoingRightFromLeftButtonJumpsOverCenterToRight 和 testGoingLeftFromRightButtonGoesToCenter

通過mFocusFinder 的 findNextFocus 來測試 mLeftButton,mRightButton 的下個可以獲取焦點的控件是否符合事先的設計。

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

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