2015-02-28 16 views
9

Stiamo cercando di introdurre il new Android Unit Testing Support nel nostro progetto.Test delle unità Android non funzionante per il progetto di libreria Android

Per il progetto di libreria, non riesce a trovare le classi src/main/java durante l'esecuzione con gradlew.

L'esecuzione del test da Android Studio funziona come previsto. L'esecuzione del test con gradle in un progetto di app funziona come previsto. L'esecuzione del test con gradle in un progetto di libreria non riesce.

Ho creato un progetto di esempio su github, che riproduce il problema in un piccolo progetto.

Con la definizione del plugin gradle apply plugin: 'com.android.application' funziona correttamente, con la definizione del plug-in apply plugin: 'com.android.library', si verifica l'errore.

L'errore è:

home/user/path/AndroidJvmJunitTestSpike/common/src/test/java/squins/com/common/SomeClassTest.java:11: error: cannot find symbol 
    assertEquals(2, new SomeClass().sum(1, 1)); 
         ^     
    symbol: class SomeClass      
    location: class SomeClassTest     
    /home/user/path/AndroidJvmJunitTestSpike/common/src/test/java/squins/com/common/SomeClassTest.java:16: error: cannot find symbol 
    new SomeClass().referenceDrawableFromR(); 
     ^         
    symbol: class SomeClass      
    location: class SomeClassTest     
    2 errors           
    :common:compileDebugUnitTestJava FAILED 

è questo dovrebbe lavorare? Ho perso qualcosa?

+0

Si dovrebbe girare in modo che i pacchetti si presentino così: "com.squins.common" invece di "squins.com.common". – Daverix

+0

Grazie per averlo scoperto! E 'stato davvero sbagliato, Android Studio chiede "dominio aziendale" nel nuovo wizard di progetto, che ho interpretato come "nome del pacchetto". –

+0

@KeesvanDieren Penso che dovresti postare come risposta. Ho avuto questo stesso problema. 'gradlew clean assemble check'. –

risposta

5

Ho trovato una soluzione alternativa: compilazione trigger manualmente. Comando Gradle che riesce:

./gradlew clean assembleDebug assembleRelease test

Stai ancora cercando una soluzione migliore.

Problemi correlati