pytest/unittest 如何异步访问数据库中某个字段的值?
目前的需求是,我需要监视数据库中某个字段的值,如果值为0,则重复查询,值为1后继续后面的操作,目前的一个问题是,如果我用unittest或者pytest来做,用例会阻塞(因为要重复查询等待值为1),有没有什么办法异步访问数据库中的值,值为0的时候挂起,重复查询,同时执行后面的测试用例,等到值为1的时候在回过头执行当前的用例?求一个代码例子,感激不尽
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
经过几天的研究,觉得采用unittest测试框架,我上面提的问题可以延伸为,如果有大量测试用例,每个用例需要花费大量时间,unittest如何利用协程异步去运行所有的测试用例?经过一番探索我找到了答案,已经有unittest异步执行测试用例的轮子了,这是参考链接
安装
使用
使用方法与unittest库一致,仅需将import unittest改为import fastunit as unittest即可。
顺便一提,我问的问题真的不难,,,我google了这个问题只需要几分钟,而我放到论坛里的问题挂了几天也没解决,,,哭了
详细说明文档
同步的话,可以使用 pytest-xdist 支持并发执行测试用例。
异步的话 unittest IsolatedAsyncioTestCase 支持异步测试(requires version 3.8+), see
https://docs.python.org/3.8/l...
补充回答
题主也是够懒的,链接都发你了看都不看么
启动2个worker运行, 可以看到
test_01
是在test_02
修改了 db 后完成的