如何在.NET / C#下配置SQLite以在NUnit测试中运行?

时间:2012-10-25 12:58:42

标签: c# .net sqlite nunit system.data.sqlite

我正在编写NUnit测试,并希望在我的DAL中使用内存数据库SQLite(.NET)。我认为,因为它在内存中运行单元测试不应该是一个大问题。我设置一个可执行文件与SQLite一起运行没有问题。我添加SQLite dll-references并在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测试中运行?

2 个答案:

答案 0 :(得分:0)

我不知道它是否对你有帮助。

我使用Fluent nHibernate,它轻巧而且棒极了。

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

答案 1 :(得分:0)

我遇到了同样的问题。对我来说,当我将SQLite从x86切换到x64(反之亦然,不记得)时,它就有用了。

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

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