2016-05-05 22 views
16

Aggiornamento: E 'un bug ed è stato segnalato, si prega di stella: https://code.google.com/p/android/issues/detail?id=209832&thanks=209832&ts=1463161330Studio Android 2.1: errore: pacchetto org.junit non esiste

Sono la creazione di unità di test sullo studio Android.

Ho letto the documentation e l'ho impostato esattamente come specificato. Ho la mia cartella di prova impostato come src/test/java

Ho fatto una classe di test casuale: enter image description here

import org.junit.Test; 
import static org.junit.Assert.*; 
import static org.hamcrest.CoreMatchers.*; 

public class RandomTestClass 
{ 
    @Test 
    public void testTest() 
    { 
     assertThat(4, is(4)); 
    } 
} 

Tuttavia, quando vado a correre la mia prova ottengo:

error: package org.junit does not exist

I Ho impostato il mio gradino ESATTAMENTE come descritto nella documentazione:

dependencies { 
    // Required -- JUnit 4 framework 
    testCompile 'junit:junit:4.12' 
    // Optional -- Mockito framework 
    testCompile 'org.mockito:mockito-core:1.10.19' 
} 

Le poche altre domande con questo problema sembravano dire che mancano queste dipendenze. Li ho

Riesci a pensare a qualche motivo per cui i miei Test unità locali non stanno trovando il file junit quando vado a eseguire il test?

Nota È in grado di trovare le classi junit quando sto scrivendo il codice. Non riesco a trovare junit solo quando eseguo il test.

+0

Hai trovato una soluzione? – galaxigirl

risposta

2

Sembra che Gradle non stia facendo il suo lavoro.

Manually adding the jars risolto il problema.

+0

Ero molto fiducioso su questa soluzione ma non lo risolveva per me – galaxigirl

+0

Per ora usa 'compile'. È l'unico altro modo in cui funziona – Aggressor

1

Alcune cose che si dovrebbe verificare -

  • Ti hanno unit test e il debug selezionati nell'ambito varianti costruire?
  • La directory di lavoro è impostata su $ MODULE_DIR $ in configurazioni Run/Debug per il test dell'unità?
  • Hai creato il test selezionando la classe che desideri testare, vai a Naviga -> Test e avendo Android Studio costruire la classe di test per te?
+0

Non so cosa intendi per varianti di costruzione. '$ MODULE_DIR $' è impostato come directory di lavoro. Usare Navigate-> Test per creare il test non ha avuto alcun effetto, ma l'ho provato. – Aggressor

+0

Hmm. Voglio aiutare, ma non sono sicuro che questo è qualcosa che potrei diagnosticare senza vedere il vero codice di base (questo sembra una sorta di problema ambientale). Forse qualcuno con più esperienza di me può intervenire se hanno già visto questo comportamento prima. RE: costruisci varianti, puoi accedere al menu varianti build nella parte in basso a sinistra dello schermo, appena sopra i preferiti –

22

Ho modificato TestCompile su androidTestCompile e ha funzionato senza problemi.

testCompile 'junit:junit:4.12' 

a

androidTestCompile 'junit:junit:4.12' 
+0

testCompile è per la directory 'test', androidTestCompile è per' androidTest' – auval

2

miei test sono nella cartella src/test/java e l'aggiunta di test.setRoot('test') per sourceSets lavorato per me.

sourceSets { 
    test.setRoot('test') 
} 
0

tenta di modificare la Variante Costruire a debug.

View -> Tool Windows -> Build Variants