¿Cómo resolver la excepción durante la construcción de la suite?
He seguido los siguientes pasos para probar mi aplicación.
- He creado Android Project.
- He creado la firma de depuración para mi aplicación de ejemplo y aplicación de prueba (que es necesario probar)
- Coloque el archivo sampleapp_debug.apk en la carpeta bin (donde está mi espacio de trabajo)
- Instaló el testapp_debug.apk en el emulador.
- Ahora estoy ejecutando el proyecto como un JunitTest de Android.
Estoy recibiendo el siguiente error .. Cómo resolver esto ..
- ¿Por qué obtengo un NoClassDefFoundError al ejecutar mi prueba en ActionBarActivity?
- No es posible hacer clic en barra de acción en robotium
- ¿Cómo puedo comprobar en Robotium que la aplicación ha terminado?
- Robotium con Mockito o Easy Mock
- Cómo conseguir que la actividad se ejecute desde otro proceso utilizando Robotium
java.lang.RuntimeException: Exception during suite construction at android.test.suitebuilder.TestSuiteBuilder$FailedToCreateTests.testSuiteConstructionFailed(TestSuiteBuilder.java:239) at java.lang.reflect.Method.invokeNative(Native Method) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169) at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154) at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:520) at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1447) Caused by: java.lang.NullPointerException: Method name must not be null. at java.lang.ClassCache.findMethodByName(ClassCache.java:297) at java.lang.Class.getMethod(Class.java:985) at android.test.suitebuilder.TestMethod.getAnnotation(TestMethod.java:60) at android.test.suitebuilder.annotation.HasMethodAnnotation.apply(HasMethodAnnotation.java:39) at android.test.suitebuilder.annotation.HasMethodAnnotation.apply(HasMethodAnnotation.java:30) at com.android.internal.util.Predicates$OrPredicate.apply(Predicates.java:106) at android.test.suitebuilder.annotation.HasAnnotation.apply(HasAnnotation.java:42) at android.test.suitebuilder.annotation.HasAnnotation.apply(HasAnnotation.java:31) at com.android.internal.util.Predicates$NotPredicate.apply(Predicates.java:122) at android.test.suitebuilder.TestSuiteBuilder.satisfiesAllPredicates(TestSuiteBuilder.java:254) at android.test.suitebuilder.TestSuiteBuilder.build(TestSuiteBuilder.java:190) at android.test.InstrumentationTestRunner.onCreate(InstrumentationTestRunner.java:373) at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4218) at android.app.ActivityThread.access$3000(ActivityThread.java:125) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2071) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:123) at android.app.ActivityThread.main(ActivityThread.java:4627) at java.lang.reflect.Method.invokeNative(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) at dalvik.system.NativeStart.main(Native Method)
- Instalación de un apk de Android mediante programación como parte de un marco de prueba
- ¿Cómo puedo realizar mis pruebas independientes de Robotium UI en paralelo?
- Atajo de teclado para Ejecutar como -> Android JUnit Test en Eclipse
- Android Robotium NoClassDefFoundError
- Robotium - haciendo clic en las pestañas de la barra de acción
- Robotium - Escoja una cuenta en AccoutPicker con solo
- ¿Cómo ejecutar Android / Robotium Instrumentation casos de prueba contra una versión de lanzamiento APK?
- Robotium: ¿Cómo espero que termine la carga antes de continuar?
Me enfrenté a un tipo similar de problema antes. He resuelto lo mismo mediante el constructor por defecto en Testcode en lugar de constructor parametrizado. El siguiente tutorial me resultó útil
Ver este tutorial
Me encuentro con el mismo error y esta solución funcionó para mí:
No utilice TestTextView público (nombre de cadena) pero TestTextView público () como constructor.
Como lo mencionó W.Elsinga en su comentario aquí Link
Su código de referencia era muy antiguo. Simplemente agregue el constructor por defecto.
public StartActivityTest() { super(StartActivity.class); }
Creo que el problema en el método: android.test.suitebuilder.TestMethod.getAnnotation()
.
Trate de llamar al método setName()
al constructor de la actividad.
Vea: RuntimeException mientras utiliza ActivityUnitTestCase, pero no mientras ActivityInstrumentationTestCase2
La excepción es causada por android.test.suitebuilder.TestMethod.getAnnotation()
, también.