Estoy golpeando mi cabeza contra la pared aquí tratando de averiguar por qué IntelliJ / Android informa "Suite de prueba vacía". Tengo un pequeño proyecto con dos módulos IntelliJ ("Proyectos" en Eclipse). El módulo de prueba unitaria tiene su propio AndroidManifest.xml, que he pegado en la parte inferior. Estoy intentando ejecutar un ActivityUnitTestCase
, ya que las pruebas dependerán del Context
-objeto.
El nombre del paquete del módulo principal es nilzor.myapp
. El nombre del paquete del módulo de prueba esnilzor.myapp.tests
¿Por qué el corredor de pruebas no detecta el testBlah()
método -como una prueba?
<?xml version="1.0" encoding="utf-8"?>
<!-- package name must be unique so suffix with "tests" so package loader doesn't ignore us -->
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="nilzor.myapp.tests"
android:versionCode="1"
android:versionName="1.0">
<!-- We add an application tag here just so that we can indicate that
this package needs to link against the android.test library,
which is needed when building test cases. -->
<application>
<uses-library android:name="android.test.runner"/>
</application>
<!--
This declares that this application uses the instrumentation test runner targeting
the package of nilzor.myapp. To run the tests use the command:
"adb shell am instrument -w nilzor.myapp.tests/android.test.InstrumentationTestRunner"
-->
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="nilzor.myapp"
android:label="Tests for nilzor.myapp"/>
</manifest>
Y aquí está mi clase de prueba :;
package nilzor.myapp.tests;
public class NilzorSomeTest<T extends Activity> extends ActivityUnitTestCase<T>{
public NilzorSomeTest(Class<T> activityClass){
super(activityClass);
}
@SmallTest
public void testBlah(){
assertEquals(1,1);
}
}
He leído los fundamentos de las pruebas , el documento de pruebas de actividad y he intentado seguir este blog de prueba de Hello world , aunque es para Eclipse. No puedo hacer que el corredor de pruebas busque y ejecute mi prueba. ¿Qué estoy haciendo mal?
Algunas de las preguntas de las que todavía me siento inseguro son:
- ¿Necesito una anotación sobre el método de prueba unitaria?
- ¿Necesito prefijar el método con "prueba", o es solo para las pruebas JUnit?
- ¿Puedo realizar pruebas en subpaquetes de
nilzor.myapp.tests
?
Pero la pregunta principal de esta publicación es ¿por qué el corredor de pruebas no detecta mi prueba ?
@Test
marcador encima de la prueba.
cmd+shift+t
acceso directo que creará una clase de prueba automáticamente en la ubicación correcta del paquete que coincida con la clase que está editando actualmente.