1

我正在编写 NUnit 测试并希望将内存数据库 SQLite (.NET) 与我的 DAL 一起使用。我认为既然它是在内存中的,用它运行单元测试应该没什么大不了的。我可以毫不费力地设置与 SQLite 一起运行的可执行文件。我添加了 SQLite dll 引用并在 App.config 文件中包含了正确的 DbProviderFactories 设置,它可以工作。

但是,当我运行 nunit 测试时,我无法获取数据存储提供程序:

System.ArgumentException : The specified store provider cannot be found in the configuration, or is not valid.
  ----> System.ArgumentException : Unable to find the requested .Net Framework Data Provider.  It may not be installed.

我尝试对测试项目执行与对可执行项目相同的过程,但它不起作用。

如何配置 SQLite 以在 NUnit 测试中运行?

4

2 回答 2

0

我曾经也有过一样的问题。对我来说,当我将 SQLite 从 x86 切换到 x64 时它起作用了(反之亦然,不记得了)。

如果您使用的是 NuGet:SQLite有(令人困惑的)3 个不同的包。

我还结合使用 FluentNH 和存储库模式进行数据访问。为测试和应用程序设置非常简单:)

于 2012-10-25T13:53:13.140 回答
0

不知道对你有没有帮助。

我使用 Fluent nHibernate,它轻巧而令人敬畏。

http://www.dotnetguy.co.uk/post/2009/10/20/sqlite-nunit-fluent-nhibernate-test-your-data-access-layer/

于 2012-10-25T13:43:28.747 回答