Ich versuche Komponententests für unsere App zu schreiben, und ich bin ein wenig verwirrt über das Testen unserer DAO-Ebene. Diese Ebene verwendet viele Methoden der realen SQLiteDatabase
und wir denken nicht, dass die Verwendung von Mockito
in diesem Fall ist ein richtiger Weg. Also ist unsere Frage - wie man DAO Schicht mit echter Datenbank prüft? Ist es in Android wirklich möglich, eine echte Instanz der Datenbank in Komponententests zu erhalten?Testen von Android-Apps - So testen Sie den DAO-Layer mit einer echten Datenbank?
Was wollen wir Test:
- Ausführung von SQL-Anweisungen, zum Beispiel
database.execSQL(..)
Methoden. - Ausführung von
insert
,update
,delete
,rawQuery
Methoden vonSQLiteDatabase
Klasse.
Vielen Dank im Voraus!
Es ist eine andere Art von "heiligen Krieg" -Frage. Ich stimme Ihnen zu, nicht Einheitentest mit echten db zu schreiben. Allerdings gibt es im Web viele Artikel, die damit kontrovers diskutiert werden. Für OP empfehle ich Schreibintegrationstests. –
@EvgeniyK., Danke für Ausdruck über Integrationstests. Ich denke, wir werden sie schreiben. –