Testen von nicht-Aktivität Klassen in Android
Ich weiß, wie um zu testen, Activity-Klassen mit JUnit 4 in Android, aber ich bin nicht in der Lage zu verstehen, wie um zu testen, non-activity-Klassen (die nicht erweitert Aktivität, ListActivity, oder einige andere Aktivität, Klasse, verwendet aber einige Android-APIs). Bitte helfen Sie mir in dieser Hinsicht.
- meinst du den regulären Klassen?
- meinst du jeder broadcast Receiver oder services
- Ivanov & @Android-Entwickler: Ja, ich meine regulären Unterricht, aber Sie haben Referenzen, um Android-spezifische Klassen wie Envirnment, Bitmap, etc.
- Wie verwenden Sie JUnit 4 ?
- Ich Versuch mich gerade an der Verwendung von JUnit 4, aber war nicht erfolgreich. Finden Sie diese für weitere Informationen: code.google.com/p/android/issues/detail?id=2271
- Warum sind Sie versuchen zu verwenden, JUnit 4, wenn die JUnit-3 ist die unterstützte version ?
- OK, ich gehe mit JUnit 3.0, aber ich weiß nicht, wie um zu testen, non-activity-Klassen. I. e. Ich bin der Interaktion mit SD-Karte (für Lesen, schreiben, Ordner erstellen, etc.) und diese Logik in eine separate Klasse (keine Aktivität), also wie könnte ich das testen dieser Klasse?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Testen, nicht activity-Klassen:
laufen als Android JUnit Test
Dem Android SDK enthält JUnit. In der Tat, die Android-test-Klassen wie AndroidTestCase und InstrumentationTestCase erbt von junit.Rahmen.TestCase. Dies bedeutet, dass Sie können verwenden Sie ein standard-JUnit-Testfall zum testen einer nicht-Aktivität der Klasse und in Android-Projekten.
Zum Beispiel, können Sie erstellen ein Android-Projekt mit einer einfachen Klasse zu testen:
und einer Android-Test-Projekt mit einem standard-JUnit-test zum testen dieser Klasse:
und führen Sie diese auf einem Android-Gerät oder auf dem Android-emulator.
Mehr Informationen zu sehen, nachdem die Klärung der Frage in den Kommentaren:
AndroidTestCase oder anderen Android-test-Klassen können verwendet werden, um zu testen, non-Activity-Klassen, die Zugriff benötigen, um den rest der Android-framework (mit einem dummy-Aktivität in der setUp () - wenn notwendig). Diese geben Ihnen Zugang zu einem Zusammenhang, wenn Sie benötigen, zum Beispiel, binden Sie an einen Dienst.
# # An unexpected error has been detected by Java Runtime Environment: # # Internal Error (434C41535326494C453041525345520E4350500AB6), pid=3708, tid=2288 # # Java VM: Java HotSpot(TM) Client VM (1.6.0-b105 mixed mode) # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp #