如何使用带有多个数据库的SQLite进行.Net单元测试

时间:2014-05-15 22:14:30

标签: .net sqlite unit-testing

我的工作有各种.Net C#类来执行离散操作(即获取用户购物车中的项目,获取可用产品列表等)。我希望使用Visual Studio单元测试项目为这些类/方法添加单元测试。我的目标是让单元测试自包含在不依赖外部数据库的地方。所以我开始调查SQLite。我认为每个单元测试都会创建它自己的“模拟”数据库,供单元测试执行的相应类/方法使用。

这是我遇到的问题。真正的类/方法使用完全限定(猜测是正确的术语)数据库名称和模式作为查询的一部分执行SQL。例如:

SELECT * FROM Database01.Schema01.Table01

在SQLite中有没有办法让它适用于这些类型的表引用?我看到有一个ATTACH命令,您可以在其中将多个数据库附加到一个连接。然后使用 database-name.table-name 引用表。但仍然缺少中间架构部分。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

如果该代码注意正确引用数据库/模式名称,您可以命名数据库[Database01.Schema01],然后告诉该代码数据库被调用[Database01和架构,Schema01]

如果您的代码太聪明,或者数据库/模式名称已修复,那么您无法使用SQLite。