我正在考虑将 SQLite 用作我的 Oracle 数据库的内存 stub 。我可以轻松地将我所有的 DAL 命令定向到 SQLite,但我现在想知道我应该如何轻松地为每个测试方法填充数据。
每种方法是否应该首先创建所需的表并插入特定测试的行?我应该在 Fixture SetUp 阶段填充内存中的数据吗?有没有其他方法(比如从某个文件中读取它,但丢弃更改以便下一次读取相同)?
也许我应该只用普通 stub stub 数据库,并在需要时返回本地创建的对象(数据集和数据表)?我考虑过尝试这个,但这样我就不会测试传递的实际查询,而是尝试对执行 SQL 选择的方法进行单元测试。我也想测试查询的语法和有效性。
关于此的任何最佳实践?还是只是好主意?
最佳答案
只备份 SQLite-Db-File 怎么样?
SQLite 的好处在于,您可以随心所欲地复制整个数据库文件。您还可以使用 SQL 文件来用数据填充某些 db 文件。我不完全理解你的问题,但是混合使用 db 文件(作为模板)和(可选)一些 SQL 文件来根据需要填充表应该足以解决非常困难的测试问题。
也可以通过转储简单文件和(可选)删除不需要的条目或添加其他条目来轻松创建 SQL 文件。
关于c# - 在内存中填充 SQLite 以进行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1037924/