Ich habe eine Android-App, die ORMLite/SQLite verwendet, und ich verwende Robolectric in Verbindung mit JUnit 4, damit ich Komponententests in Android Studio und auf einem Jenkins-Build-Server ausführen kann.Woher weiß ich, ob meine App mit Robolectric läuft?
Normalerweise würde ich Testdaten in meinen Tests einrichten, im Setup, und dann meine Testszenarien dagegen laufen lassen, aber als ich das versuchte, bekam ich Probleme und Ausnahmen, die mit Dateien zu tun haben, die gesperrt wurden und das scheint ein Problem zu sein, das andere hatten ... also was ich bis jetzt getan habe, ist die create database-Methode in meinem Datenbankhelfer zu verwenden, um einige Dummy-Daten zu erstellen, die die Tests dort erwarten.
Das Problem ist, dass meine Anwendung jetzt in eine echte Datenbank eingesteckt werden muss und ich kann nicht Dummy-Daten einrichten, wenn es ausgeführt wird.
Gibt es einen Weg, innerhalb meiner Datenbank Helper-Klasse zu erkennen, ob der Code auf einem Gerät oder in Robolectric ausgeführt wird?
ich mit einer Variation dieser endete. Ich habe eine alternative Datenbankhilfsklasse in der Testquelle erstellt, die die in der Hauptquelle überschreibt. –
Das ist wahrscheinlich eigentlich besser :) –