在内存中填充SQLite以进行单元测试

时间:2009-06-24 12:01:00

标签: c# unit-testing sqlite nunit

我正在考虑将SQLite用作Oracle数据库的内存存根。我可以轻松地将所有DAL命令都指向SQLite,但我现在想知道如何轻松填充每种测试方法的数据。
每个方法应该首先创建所需的表并插入特定测试的行吗?我应该在Fixture SetUp阶段填充内存中的数据吗?还有其他一些方法(比如从某个文件中读取它,但丢弃更改以便下一次读取将是相同的)?
也许我应该使用普通存根来存储数据库,并在需要时返回本地创建的对象(DataSet和DataTables)?我想过尝试这个,但是这样我就不会测试传递的实际查询了,我正在尝试单元执行SQL选择的测试方法。我也想测试查询的语法和有效性。

有关此问题的最佳做法吗?或者只是好主意?

1 个答案:

答案 0 :(得分:2)

如何备份SQLite-Db-File?

关于SQLite的好处是,您可以根据需要随时复制整个db文件。您还可以使用SQL文件使用数据填充某些db文件。我完全不理解你的问题,但是混合使用db文件(作为模板)和(可选)一些SQL文件根据需要填充表格应该足以应对非常困难的测试问题。

通过转储简单文件和(可选地)删除不需要的条目或添加其他条目,也可以轻松创建SQL文件。