您的位置:首页 > 移动开发 > Android开发

Android测试教程(14):ActivityInstrumentationTestCase2示例

2012-05-25 08:10 369 查看
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());
 }
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: