Wie kann ich Active Android mit einer In-Memory-Datenbank für Komponententests mit Robolectric verwenden?

8

Wie der Titel sagt. Ich bin mir bewusst, dass es eine beschränkte Speicherdatenbank gibt, die in robolectric zur Verfügung gestellt wird. Gibt es eine Möglichkeit, dies mit Active Android zu verwenden? In der Standardkonfiguration scheint die Datenbank gelöscht zu sein, nachdem alle Tests ausgeführt wurden, aber nicht für jeden Test.

    
derekv 30.10.2013, 18:17
quelle

1 Antwort

4

Ich benutze greenDao - aber das Prinzip ist das gleiche.

Meine Application-Klasse initialisiert meine DB (die DB hat einen Namen). Für meine Tests unterlasse ich die Anwendung (die es Robolectric erlaubt, diese Version aufzurufen) und überschreibe die Methode, die den DB-Namen bekommt - und null zurückgibt. Dies bedeutet dann, dass ich eine im Speicher DB erstellen. Da die Erstellung der Anwendung Teil von setUp ist, wird für jeden Test eine neue Arbeitsspeicher-DB verwendet.

%Vor%     
Daniel 12.03.2014 12:36
quelle