Questa è la prima volta che si installa un android test project
per testare un android project
.Esecuzione test fallita: esecuzione strumentazione non riuscita a causa di 'java.lang.ClassNotFoundException'
Ho creato un test case molto semplice che sto cercando di ottenere, ma quello che ho non funziona. Ottengo un Test run failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'
.
Mi dispiacerebbe di più, tuttavia non ricevo più informazioni, ad esempio quale classe sta cercando di trovare, ecc. Qualche idea su come ottenere maggiori informazioni dall'errore? Eventuali aree comuni dovrei guardare, o qualsiasi cosa che potrebbe aver bisogno di essere configurato che sto trascurando?
riportano di seguito le informazioni dalla console:
[2013-04-16 13:21:49 - XyzProgramTest] Android Launch!
[2013-04-16 13:21:49 - XyzProgramTest] adb is running normally.
[2013-04-16 13:21:49 - XyzProgramTest] Performing android.test.InstrumentationTestRunner JUnit launch
[2013-04-16 13:21:49 - XyzProgramTest] Automatic Target Mode: launching new emulator with compatible AVD 'GalaxyNexusAPI_17'
[2013-04-16 13:21:49 - XyzProgramTest] Launching a new emulator with Virtual Device 'GalaxyNexusAPI_17'
[2013-04-16 13:21:53 - Emulator] extension WGL_ARB_make_current_read was not found
[2013-04-16 13:21:53 - Emulator] extension WGL_EXT_swap_control was not found
[2013-04-16 13:21:53 - Emulator] Failed to create pbuf surface for FB 0x3004
[2013-04-16 13:21:53 - Emulator] emulator: WARNING: Could not initialize OpenglES emulation, using software renderer.
[2013-04-16 13:21:54 - XyzProgramTest] New emulator found: emulator-5554
[2013-04-16 13:21:54 - XyzProgramTest] Waiting for HOME ('android.process.acore') to be launched...
[2013-04-16 13:22:55 - XyzProgramTest] HOME is up on device 'emulator-5554'
[2013-04-16 13:22:55 - XyzProgramTest] Uploading XyzProgramTest.apk onto device 'emulator-5554'
[2013-04-16 13:22:55 - XyzProgramTest] Installing XyzProgramTest.apk...
[2013-04-16 13:23:57 - XyzProgramTest] Success!
[2013-04-16 13:23:57 - XyzProgramTest] Project dependency found, installing: XyzProgram
[2013-04-16 13:23:57 - XyzProgram] Uploading XyzProgram.apk onto device 'emulator-5554'
[2013-04-16 13:23:58 - XyzProgram] Installing XyzProgram.apk...
[2013-04-16 13:24:05 - XyzProgram] Success!
[2013-04-16 13:24:05 - XyzProgramTest] Launching instrumentation android.test.InstrumentationTestRunner on emulator-5554
[2013-04-16 13:24:07 - XyzProgramTest] Test run failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'
Note aggiuntive:
Nel mio android test project
, ho creato un semplice test con un pacchetto simile al pacchetto che corrisponda con la classe che sto provando a testare nel mio android project
. Quindi qualcosa come com.company.android.projectname
. Ho specificato questo nella sezione instrumentation
del file del file .
<instrumentation
android:name="android.test.InstrumentationTestRunner"
android:targetPackage="com.company.android.projectname" />
Quando ho cambiato questo per abbinare che, ottengo un nuovo errore che dice Test run failed: Unable to find instrumentation target package: com.company.android.projectname
sono sicuro al 100% quello che targetPackage
dovrebbe essere e se ho bisogno di più strumentazioni per ogni pacchetto che voglio per testare, ecc. Quando l'ho impostato su com.company.android
, cioè quando ricevo il numero java.lang.ClassNotFoundException
. Qualsiasi suggerimento sarebbe apprezzato, nel frattempo continuerò i miei sforzi per capirlo da solo.
Puoi spiegare che cosa esattamente sei cambiato nella seconda fase del progetto di test? –
Spiega di più per favore –
@PawelByszewski, @Binghammer È passato un po 'di tempo da quando ho fatto il post, ma dalla memoria ... ho spostato la posizione della classe che ha esteso 'android.app.Application'. Penso di aver migliorato il layout dei miei nomi di pacchetti e di aver spostato questa classe nel processo. Perché ho fatto questo, ho dovuto aggiornare il suo riferimento nel file manifest. Per esempio. Se in eclissi, fare doppio clic su 'AndroidManifest.xml', quindi modificare la scheda in fondo a' AndroidManifest.xml', quindi cercare '