Androidテストチュートリアル(14):A c t i v i t y I n s t r u m entationTestCase 2例
2189 ワード
Activity InstrumentationTestCase 2は単一のActivityをテストするために使用され、テストされたActivityはInstrumentationTestCaseを使用することができる.LaunchActivityを起動し、テストされたActivityを直接操作できます.
Activity InstrumentationTestCase 2もサポートされています.は、UIスレッドにおいて試験方法を実行することができる. は、テストされたActivityの にIntentオブジェクトを注入することができる.
A t i v i t y I n s t r u m entationTestCase 2は、以前のA t i v i t y I n s t r u m entationTestCaseの代わりになり、新しいテストではA t i v i t y I n s t r u m entationTestCase 2をベースクラスとして使用する必要があります.
Focus 2 Activity Testのコードは、Android ApiDemosの解析例をテストするためのものである(116):Views->Focus->2.Horizontal
Activity InstrumentationTestCase 2もサポートされています.
A t i v i t y I n s t r u m entationTestCase 2は、以前のA t i v i t y I n s t r u m entationTestCaseの代わりになり、新しいテストではA t i v i t y I n s t r u m entationTestCase 2をベースクラスとして使用する必要があります.
Focus 2 Activity Testのコードは、Android ApiDemosの解析例をテストするためのものである(116):Views->Focus->2.Horizontal
public class Focus2ActivityTest
extends ActivityInstrumentationTestCase2 {
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());
}
}