我即将用 Python 完成 RethinkDB 的 ORM,但我在编写测试时遇到了困难。特别是那些涉及 save()
、get()
和 delete()
操作的。在保存、删除或获取文档时,测试我的 ORM 是否执行预期操作的推荐方法是什么?
现在,对于我套件中的每个测试,我创建一个数据库,用测试模型所需的所有表填充它(这需要很多时间,几乎 5 秒/测试!),在我的模型上运行操作(例如:save()
) 然后手动对数据库运行查询(使用 RethinkDB 的 Python 驱动程序)以查看数据库中的所有内容是否已更新。
现在,我觉得这不对;也许有另一种方法可以编写这些测试,或者我可以设计测试而无需对数据库运行那么多查询。关于如何改进它的任何想法或关于必须如何真正完成的建议?
最佳答案
您可以为所有测试创建一次所有数据库/表。
您还可以使用原始数据目录: - 启动 RethinkDB - 创建你所有的数据库/表 - 提交。
在每次测试之前,复制数据目录,在副本上启动 RethinkDB,然后当你的测试完成后,删除复制的数据目录。
关于python - 为 RethinkDB 测试 ORM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25916839/