8

Quindi sto utilizzando Robotium e la mia classe di test estende la classe ActivityInstrumentationTestCase2. Ho importato la libreria di supporto v7 nel mio progetto principale e anche nel progetto di test come librerie.Perché viene visualizzato NoClassDefFoundError durante l'esecuzione del test su ActionBarActivity?

Ora quello che non capisco è che la classe test funziona quando cambio la classe in prova per estendere Activity ma quando lo cambio per ActionBarActivity restituisce un NoClassDefFoundError.

Mi manca qualcosa?

Ecco il registro sto ottenendo

04-11 21:32:16.551: E/dalvikvm(23925): Could not find class 'com.example.project.ActivityClass', referenced from method com.example.project.tests.ActivityClass.<init> 
+1

Hai visto [questo] (http://stackoverflow.com/questions/18848578/actionbaractivity-noclassdeffounderroreccezione)? – Ircover

+0

Perché utilizzare Robotium? Utilizza il nuovo Espresso supportato da Google. Pubblica il tuo codice pure. –

+0

Puoi rispondere? –

risposta

2

penso che la libreria v7 app compat ha un problema di importazione.

Prova questa: libreria di supporto

  • Importa come un progetto da "sdk/extras/android/support/v7/appcompat".

  • biblioteca di riferimento nel progetto (per Eclipse, "Properties - Android - Add").

  • Progetti di costruzione (per Eclipse, "Projects - Build All"). Assicurati di avere "android.support.v7.appcompat" nella cartella gen del progetto principale.

Se ancora non risolve il problema, riavviare Eclipse e pulita e ricostruire progetto

Se il problema persiste, rimuovere la libreria di supporto da voi computer e scaricare di nuovo e seguire suddetti passaggi.

+0

Avete un test dell'unità di lavoro per la barra delle azioni? –

+0

In questo momento non riesco a recuperare il mio codice ma puoi trovare molti esempi su internet. Hai provato quello che ho detto sopra? – Maxouille

+0

Collegamento all'esempio reale? Sai, non potrò usare ActionBarActivity se non lo avessi già fatto. –

4

Assicurarsi di esportare la libreria di supporto v7 a cui si fa riferimento nel progetto di test.

Fare clic con il tasto destro del mouse sul progetto di test, proprietà-> percorso di configurazione java-> scheda ordine ed esportazione.

Per un esempio vedere la fase 5 di cui alla sezione "Setup" qui: http://www.stevenmarkford.com/android-ui-testing-with-espresso-basics-tutorial/ (anche se questo sta mostrando come esportare la libreria espresso lo stesso vale in questo caso)

0

Questo codice nel build.gradle risolto problema simile per me:

configurations { 
    androidTestCompile.exclude group: 'com.android.support', module: 'support-v4' 
} 

Più here.