Momentan arbeite ich an Komponententests für eine Xamarin MvvmCross Anwendung mit SQLite.Net-PCL 3.1.1. Das Unit-Test-Projekt ist ein normales .NET-Projekt.Ist es möglich, eine In-Memory-Datenbank mit SQLite.Net-PCL zu erstellen?
So, jetzt bin ich spöttisch die MvxSqliteConnectionFactoryBase
public class MockMvxSqliteConnectionFactoryBase : MvxSqliteConnectionFactoryBase
{
#region implemented abstract members of MvxSqliteConnectionFactoryBase
public override string GetPlattformDatabasePath(string databaseName)
{
return "Data Source=:memory:";
}
public override ISQLitePlatform GetCurrentPlatform()
{
return new SQLite.Net.Platform.Generic.SQLitePlatformGeneric();
}
public override ISQLitePlatform GetCurrentPlatform(string key)
{
return new SQLite.Net.Platform.Generic.SQLitePlatformGeneric();
}
#endregion
}
Aber die Datenbank nicht eher im Speicher erzeugt als im bin
Ordner des Projektes.
Ich habe versucht, SQLiteConnection
wie diese example zu initialisieren, aber es gibt keinen Konstruktor, der nur eine Zeichenfolge akzeptiert.
@Aron eigentlich * kann * mit oder ohne eine Sicherungsdatei arbeiten. Die Verwendung als Nur-Speicher ist ein sehr häufiges Szenario. Darum geht es in dieser Frage. –
Dies ist eine absolut gültige Frage. Alle Downvoter sollten eine gültige Erklärung geben –
@Aron https://www.sqlite.org/inmemorydb.html – stuartd