首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在VS 2019年NUNit核心5测试项目中使用(raw) Sqlite

在VS 2019年NUNit核心5测试项目中使用(raw) Sqlite
EN

Stack Overflow用户
提问于 2021-07-20 11:52:33
回答 1查看 73关注 0票数 0

上下文环境:

  • MS Win 10 Pro (OS 19041.1110),
  • VS 2019 (build 16.10.3),
  • NUNit .NET核心测试项目,
  • .NET Core 5.0

F 211

代码:

代码语言:javascript
复制
[Test]
public void Test4()
{
    var sqliteDbFullPath = @"{your sqliteDbFullPath here}";
    using (var connection = new SqliteConnection($"Data Source={sqliteDbFullPath}"))
    {
        connection.Open(); // <= system exception is raised on run-time for this code line
        // ...
    }
    Assert.Pass();
}

错误消息:

System.Exception :您需要调用SQLitePCL.raw.SetProvider()。

如果您使用的是包包,这是通过调用SQLitePCL.Batteries.Init()来完成的。

安装的NUGet包:

  • Microsoft.Data.Sqlite.Core 5.0.8
  • SQLitePCLRaw.core 2.0.4

问题:

如何使此测试项目运行successfully?

  • What other (NUGet包)或DLL必须是installed/referenced?

  • Do,我需要手动为上下文environment?

构建Sqlite

注:,如果你有100%的工作测试解决方案,请张贴你的答案。谢谢。

EN

回答 1

Stack Overflow用户

发布于 2021-07-20 16:45:17

对于.NET 5-based控制台和NUnit测试项目来说,仅仅通过package控制台安装NUGet Package Microsoft.Data.Sqlite就足够了:

代码语言:javascript
复制
PM> Install-Package Microsoft.Data.Sqlite
Restoring packages for ... NetCore.NUnit.TestProject.csproj...
Installing NuGet package Microsoft.Data.Sqlite 5.0.8.
Committing restore...
Writing assets file to disk. Path: ... NetCore.NUnit.TestProject\obj\project.assets.json
Restored ... NetCore.NUnit.TestProject.csproj (in 244 ms).
Successfully installed 'Microsoft.Data.Sqlite 5.0.8' to NetCore.NUnit.TestProject
Successfully installed 'Microsoft.Data.Sqlite.Core 5.0.8' to NetCore.NUnit.TestProject
Successfully installed 'SQLitePCLRaw.bundle_e_sqlite3 2.0.4' to NetCore.NUnit.TestProject
Successfully installed 'SQLitePCLRaw.core 2.0.4' to NetCore.NUnit.TestProject
Successfully installed 'SQLitePCLRaw.lib.e_sqlite3 2.0.4' to NetCore.NUnit.TestProject
Successfully installed 'SQLitePCLRaw.provider.dynamic_cdecl 2.0.4' to NetCore.NUnit.TestProject
Successfully installed 'System.Memory 4.5.3' to NetCore.NUnit.TestProject
Executing nuget actions took 403 ms
Time Elapsed: 00:00:02.3812238

然后发生了“魔术”,成功地打开了Sqlite连接,并检索了OK数据。

我最初试图安装与_Microsoft.Data.Sqlite.Core_and相关的软件包的行为是错误的,这会导致运行时错误消息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68454403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档