如何使用SQLite对sql视图进行单元测试

Fáb*_*bio 0 c# asp.net-mvc unit-testing mocking

我正在使用linq对我的项目进行nhibernate,我正在使用Mock和SQLLite编写单元测试.域对象使用流畅的nhibernate映射到sql视图.

问题是这个域对象使用sql视图有源,这个视图有来自许多表的数据,只有MsSQL知道这一点.我不知道如何模仿这个.

如何使用Mock和SQLite对sql视图进行单元测试?

»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»» »»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»

编辑:

对不起,我的问题不是很清楚.让我重新说一下.

我正在使用nhibernate,并使用SQLLite编写单元测试.在某些情况下,我的域对象被映射到视图而不是表,因此我配置了流畅的nhibernate映射,以便在SQLite数据库模式中不生成相应的表.

这在开发环境中有效,因为之后在MsSQL数据库中手动创建视图,但我无法在单元测试中测试相应的存储库,因为它们使用SQLite.

如何使用SQLite对sql视图进行单元测试?

duf*_*ymo 6

我从来没有理解那些想要测试他们的持久层并询问如何模拟它的人.如果从测试中消除数据库,测试数据库的重点是什么?

如果您正在尝试测试数据库,请不要模拟它.一旦你完成了令你满意的事情,并且你想继续使用数据库的服务,那么我认为模拟数据库是合适的(因为你已经测试过了).

话虽如此,数据库测试还有一些特殊注意事项:

  1. 确保您拥有所需的测试数据.
  2. 保证真实数据的安全.
  3. 使测试数据库在测试之前和之后处于相同状态.