gpt4 book ai didi

python - Django 单元测试 : How to test concurrent database operations?

转载 作者:太空狗 更新时间:2023-10-29 21:04:12 24 4
gpt4 key购买 nike

我正在创建一个使用 optimistic concurrency control 的 Django 库以防止并发写入导致数据不一致。我希望能够为此功能编写单元测试,但我不确定如何实现。

我知道 Django 的单元测试是单线程的,所以我可以设想测试工作的唯一方法是同时打开两个单独的数据库连接(到同一个数据库)并切换 Django ORM 在执行查询时使用哪个连接,尽管我不确定在 Django 中是否可以进行连接切换。

使用 Django 测试并发数据库操作有哪些技巧?

最佳答案

What are some techniques for testing concurrent database operations with Django?

实际上,Django 在这里不是问题。

您的乐观并发控制库必须可以作为独立单元自行测试。

在 Django 之外;仅使用单元测试。

您需要使用多线程(和多处理)测试驱动程序进行测试。在 Django 之外。

一旦确定有效,您就可以在 Django 中进行测试,以确保 API 正常工作。

一旦您确定所有这些都有效,您应该编写一个简单的 urllib2 测试驱动程序,该驱动程序针对单独的 Django 服务器执行大量并发事务。我们编写了一个小工具来启动 Django 服务器,使用 urllib2 运行测试,然后终止 Django 服务器。

更根本的是,您需要某种非常正式的证据来证明您的想法可行。这比任何测试都重要得多。

关于python - Django 单元测试 : How to test concurrent database operations?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5224896/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com