python - 为 RethinkDB 测试 ORM

标签 python unit-testing testing orm rethinkdb

我即将用 Python 完成 RethinkDB 的 ORM,但我在编写测试时遇到了困难。特别是那些涉及 save()get()delete() 操作的。在保存、删除或获取文档时,测试我的 ORM 是否执行预期操作的推荐方法是什么?

现在,对于我套件中的每个测试,我创建一个数据库,用测试模型所需的所有表填充它(这需要很多时间,几乎 5 秒/测试!),在我的模型上运行操作(例如:save()) 然后手动对数据库运行查询(使用 RethinkDB 的 Python 驱动程序)以查看数据库中的所有内容是否已更新。

现在,我觉得这不对;也许有另一种方法可以编写这些测试,或者我可以设计测试而无需对数据库运行那么多查询。关于如何改进它的任何想法或关于必须如何真正完成的建议?

最佳答案

您可以为所有测试创建一次所有数据库/表。

您还可以使用原始数据目录: - 启动 RethinkDB - 创建你所有的数据库/表 - 提交。

在每次测试之前,复制数据目录,在副本上启动 RethinkDB,然后当你的测试完成后,删除复制的数据目录。

关于python - 为 RethinkDB 测试 ORM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25916839/

相关文章:

python - 使用 Django 中的通用 View 将请求传递给模型表单

python - 子文件夹中的 Django 迁移

java - 无法为 Junit 的方法创建模拟调用

.net - 并排 ClickOnce 安装

testing - 如何为基于 net/http 的代码编写集成测试?

python - 按集群拆分 bam,然后使用检查点按集群合并 bam

python - Python中的"Boilerplate"代码?

matlab - 如何在 Jenkins 控制台中获取 Matlab 输出

python - 在 Python 中模拟一个类以调用其方法之一

javascript - 自动化测试 Android 应用程序?