stackoverflow - start a activity android
Android-AssertionFailedError en el método startActivity en la clase de prueba ActivityUnitTestCase (1)
El método startActivity () de ActivityUnitTestCase debe llamarse solo en el hilo principal.
Esto se puede hacer de las siguientes maneras:
Use la anotación @UiThreadTest antes de su método de prueba:
@UiThreadTest public void testWebViewHasNotSetBuiltInZoomControls() throws Exception { Intent intent = new Intent(getInstrumentation().getTargetContext(), ContactActivity.class); startActivity(intent, null, null); }
Use el método runOnMainSync de la clase de Instrumentación:
public void testWebViewHasNotSetBuiltInZoomControls() throws Exception { final Intent intent = new Intent(getInstrumentation().getTargetContext(), ContactActivity.class); getInstrumentation().runOnMainSync(new Runnable() { @Override public void run() { startActivity(intent, null, null); } }); }
Estoy tratando de probar una actividad en un módulo. Solo intento iniciar esta actividad en el método de prueba, pero siempre tengo un AssertionFailedError
. Busqué en la web este problema pero no pude encontrar ninguna solución. Cualquier ayuda es apreciada.
Esta es mi clase de prueba:
public class ContactActivityTest extends ActivityUnitTestCase<ContactActivity> {
public ContactActivityTest() {
super(ContactActivity.class);
}
@Override
public void setUp() throws Exception {
super.setUp();
}
public void testWebViewHasNotSetBuiltInZoomControls() throws Exception {
Intent intent = new Intent(getInstrumentation().getTargetContext(),
ContactActivity.class);
startActivity(intent, null, null);
}
@Override
public void tearDown() throws Exception {
super.tearDown();
}
}
Y este es el error:
junit.framework.AssertionFailedError
at android.test.ActivityUnitTestCase.startActivity(ActivityUnitTestCase.java:147)
at com.modilisim.android.contact.ContactActivityTest.testWebViewHasNotSetBuiltInZoomControls(ContactActivityTest.java:29)
at android.test.InstrumentationTestCase.runMethod(InstrumentationTestCase.java:214)
at android.test.InstrumentationTestCase.runTest(InstrumentationTestCase.java:199)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:555)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1763)
Saludos.