5 Stimmen

Android Unit Testing - Auflösung & Verifizierung von Problemen

Ich habe gerade die Art und Weise, wie mein Android-Projekt gebaut wird, geändert und keiner meiner Unit-Tests funktioniert mehr... Ich erhalte Fehler wie

WARN/dalvikvm(575): VFY: unable to resolve static field X in .....
WARN/dalvikvm(575): VFY: unable to find class referenced in signature

Diese Fehler kommen nur von meinen Unit-Tests, wo Klassen, die darin definiert sind, nicht einmal andere Klassen sehen können, die im Unit-Test definiert sind.

Früher hatte jedes Projekt sein eigenes Verzeichnis mit Kopien der JAR-Dateien von Drittanbietern. Ich habe gelesen, dass Dex seltsame Dinge mit Referenzen macht, aber ich konnte nicht herausfinden, wie man dieses Problem beheben kann. Gibt es eine bessere Möglichkeit, dies zu tun? Ich würde gerne ein Beispiel für einen großen Android-Arbeitsbereich sehen, in dem es mehrere Projekte, Jar-Referenzen usw. gibt.

Ist es möglich, dieses Problem mit einem Order/Export-Tweak zu beheben?

Das Projekt ist wie folgt aufgebaut:

  • Eclipse-Arbeitsbereich (Variable PROJECT_HOME classpath)
  • lib
    • Drittanbieter-Gefäße
    • Android.jar
  • Java-Projekt A
    • Sieht in PROJECT_HOME nach
  • Java-Projekt B
    • Sieht in PROJECT_HOME nach
    • Abhängig von Projekt A
  • Android-Projekt
    • Hängt von A & B ab
    • Sieht in PROJECT_HOME nach
  • Android-Testprojekt
    • Abhängig von A , B, Android Projekt
    • Sieht in PROJECT_HOME nach

1voto

Thomas Dignan Punkte 6956

Fügen Sie das 3rd party jar nicht in das Testprojekt ein. Exportieren Sie es einfach in das Testprojekt: Projekteigenschaften->Java-Build-Pfad->Ordnen und Exportieren. Sobald dies geschehen ist, können Sie es bereinigen und es sollte gut funktionieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X