2016-03-28 5 views
4

Ich verwende das junit-4.12 externe Bibliothekspaket in meinem Android Studio-Projekt. Aus irgendeinem Grund, wenn ich importiere "org.junit.Before;" In meiner Java-Klasse bekomme ich den Fehler "kann das Symbol 'Before' nicht auflösen" (dies geschieht auch mit 'Test'), obwohl ich sehen kann, dass die Dateien in meinem Junit-Paket existieren (siehe Bild). Ich habe auch die Abhängigkeit in meiner Größe aufgelistet (siehe 2. Bild).Android Studio Das Symbol 'Before' kann nicht im Import aufgelöst werden. Org.junit.Before

Ich bemerkte, dass jemand anderes eine ähnliche Frage und die Antwort gefragt war „Vergewissern Sie sich, dass, wenn JUnit als < Umfang deklariert> Test </scope>, dass Ihre Testklasse in src/Test ist, sonst wird es nicht in der Lage sein, die Abhängigkeit zu sehen. "

Vielleicht ist das mein Problem, aber ich bin mir nicht sicher, wie ich sicherstellen kann, dass meine "Testklasse in src/test" ist. (Ich bin neu in Android-Studio ... so leid, wenn dies eine einfache Frage ist)

"Before" and "Test" classes

Gradle Dependencies

Antwort

0

konnte ich dieses Problem mit diesen Schritten beheben:

Schritt 1: Gehen Sie von Android Blick auf Projekte

Schritt 2 anzuzeigen: Jetzt unter App-Ordner sollten Sie Libs sehen, wenn Sie nicht tun sehen sie, schaffen es

Schritt 3: Ziehen & Löschen Sie die .jar-Datei hier kann man sein erhalten eine Meldung „Diese Datei gehört nicht zu dem Projekt“, klicken Sie einfach auf OK

Schritt 4: Sie Jetzt sollte die jar-Datei unter libs folde sehen r, rechtsklicken Sie auf die JAR-Datei und wählen Sie "Als Bibliothek hinzufügen", klicken Sie auf OK für die Eingabeaufforderung "Create Library"

Schritt 5: Das ist es !! Jetzt wurde dieses Glas hinzugefügt.

1

In einem Android-Projekt, der normale App-Code lebt unter app/src/main. Die Unit-Test-Code dann lebt unter app/src/test, wie Sie hier sehen können:

This screenshot of the Android Studio project view shows the difference.

Beachten Sie, dass der Testcode Bereich wird grün hervorgehoben. Um mit Komponententests arbeiten zu können, sollten Sie außerdem die Build-Varianten Testartefakt auf "Komponententests" setzen.

Shown here

Der Bildschirm zeigt dabei auf Instrumentierung Tests, die der Standard ist, so dass Sie Sie Unit-Tests aus der Dropdown-Liste auswählen müssen.

+0

Vielen Dank für die Hilfe! Ich habe diese beiden Dinge bereits getan und der Fehler existiert noch. Jede andere Idee, warum dies passieren könnte, wäre sehr hilfreich. – Natalie

+0

Wo genau ist die Datei mit diesen unerwarteten Fehlern? –

3

Mit Android Studio 2.0 Beta 7

1) Go To Build> Sauber-Projekt.

2) In Anwendungen build.gradle

dependencies{ 
    androidTestCompile 'junit:junit:4.12' 
} 

3) Schritten:

1) Datei Gehe zu> Projektstruktur.

2) Wählen Sie Ihre App aus Modulen.

3) Gehen Sie zu Abhängigkeiten. Wähle junit: junit: 4.12.

Wählen Sie Testkompilierung.

4) Klicken Sie auf OK.

Importfehler sollten behoben werden.

1

Seien Sie sicher, dass Sie Debug-Build-Variante sind. Es funktioniert nicht, wenn die Variante "Release" gewählt wurde.

+0

Warum funktioniert nur die Debug-Variante? –

+0

Ich weiß es nicht und hoffe, dass dieser Fehler bereits behoben ist. Aber es war der Fall, als ich mit dem Thema konfrontiert wurde. – DmitryBorodin

+0

nur ein buildVariants kann mit Ihrem InstrumentationTest arbeiten. Wenn Sie eine andere BuildVariante verwenden möchten, sollten Sie unter Ihrem build.gradle -> testBuildType "yourBuildVariants" hinzufügen –

0

Mit demselben Problem habe ich auf Android Studio 2.2.6 heruntergestuft und reimport Projekt. Kein Problem in 2.2.6. Gefüllter Fehlerbericht.

0

Ich verwendete testCompile in meinem build.gradle.

Das Ändern dieses zu androidTestCompile reparierte das Problem für mich.

androidTestCompile 'junit:junit:4.12' 
androidTestCompile 'org.mockito:mockito-core:1.10.19' 
Verwandte Themen