【发布时间】:2023-03-22 01:45:02
【问题描述】:
目前我正在使用 SQLite.Net-PCL 3.1.1 对 Xamarin MvvmCross 应用程序进行单元测试。单元测试项目是一个普通的.NET项目。
所以现在我在嘲笑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
}
但是数据库不是在内存中创建的,而是在项目的bin文件夹中创建的。
我尝试像这样example 初始化SQLiteConnection,但没有一个只接受一个字符串的构造函数。
【问题讨论】:
-
@Aron 实际上,它可以在有或没有后备文件的情况下工作。仅将其用作内存是一种非常常见的情况。这就是这个问题的意义所在。
-
这是一个完全有效的问题。任何反对者都应该给出有效的解释
-
@Aron 那么你看错了页面。使用 SQLite 作为纯内存数据库是一种常见的场景
-
@stuartd 我的立场是正确的。
标签: c# sqlite unit-testing mvvmcross sqlite-net