2010-02-27 18 views
10

He visto todos los ejemplos en la web y parece muy simple. Tengo una aplicación escueta que muestra una cadena. Tengo un proyecto de prueba JUnit de Android que creé cuando se creó la aplicación (eclipse me preguntó si quería crear una aplicación de prueba).¿Se produce un error al intentar ejecutar las pruebas JUnit de Android en Eclipse?

Cuando ejecuto la aplicación de prueba (Ejecutar como JUnit --- Android) Veo la siguiente en la consola ....

[2010-02-27 00:45:03 - SimpleCalculatorTest] instrumentación de lanzamiento android.test.InstrumentationTestRunner en el dispositivo emulator-5554 [2010-02-27 00:45:12 - SimpleCalculatorTest] Prueba de ejecución completa

No veo que se llame al código en el caso de la prueba. Mi testcase es una clase que amplía ActivityInstrumentationTestCase2. DDMS registro muestra: 02-27 00: 44: 58.521: WARN/TestGrouping (1275): no válida del paquete: '' no se pudo encontrar o no tiene pruebas

¿Alguna idea? He intentado todo ...

Respuesta

10

Si crea una nueva ActivityInstrumentationTestCase2, entonces necesita un constructor predeterminado que apunte a la clase que desea probar.

ejemplo:

public class TestappTest extends ActivityInstrumentationTestCase2<AppUnderTest> { 

    public TestappTest() { 
    super("my.package.app", AppUnderTest.class); 
    } 

    public void testApp() { 
     // Testcase 
    } 
} 
+4

Para aquellos que lean este super constructor ahora está en desuso. super (AppUnderTest.class) debería ser suficiente – IcedDante

9

Yo tenía el mismo problema. La razón fue el constructor - que de alguna manera tenía un parámetro de la siguiente manera:

public SearchActivityTest(Class<SearchActivity> activityClass) { 
    super("com.example.app", SearchActivity.class); 
} 

Pero debe tener parámetros como este:

public SearchActivityTest() { 
    super("com.example.app", SearchActivity.class); 
} 

que trabajó para mí.

Cuestiones relacionadas