この問題に対する簡単なテスト プロジェクトがありますが、どのように失敗するのか理解できません。
テスト中のプロジェクトは、テスト目的でレイアウトにボタンのみを追加します。
<Button
android:id="@+id/test_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Click" />
テストクラスは次のとおりです。
public class TestMainActivity extends ActivityInstrumentationTestCase2<MainActivity> {
private Solo solo;
public TestMainActivity() {
super(MainActivity.class);
}
public void setUp() throws Exception {
solo = new Solo(getInstrumentation(), getActivity());
}
public void test1() {
solo.clickOnButton(com.example.testrobotium.R.id.test_button);
}
public void test2() {
}
@Override
public void tearDown() throws Exception {
solo.finishOpenedActivities();
}
}
このテスト クラスを実行すると、次のようなエラー トレースが返され、clickOnButton の呼び出しが示されます。
junit.framework.AssertionFailedError: 2131165185 ボタンが見つかりません! com.jayway.android.robotium.solo.Waiter.waitForAndGetView(Waiter.java:417) で com.jayway.android.robotium.solo.Clicker.clickOn(Clicker.java:374) で com.jayway.android.robotium .solo.Solo.clickOnButton(Solo.java:1052) com.example.testrobotium.test.TestMainActivity.test1(TestMainActivity.java:22) で java.lang.reflect.Method.invokeNative(ネイティブ メソッド) で android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:204) で android .test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:194) で android.test.ActivityInstrumentationTestCase2.runTest(ActivityInstrumentationTestCase2.java:186) で android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) で android.test.AndroidTestRunner. runTest(AndroidTestRunner.java:154) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448)
この問題の原因となっているテスト クラスの何かが不足していますか?