使用uv run pytest运行Pytest测试时出现超时问题求助
使用uv run pytest运行Pytest测试时出现超时问题求助
各位好,我最近碰到了一个特别棘手的问题,想请大家帮忙支支招:
我有一批测试用例,用pytest-timeout扩展来做类似基准测试的校验,代码结构大概是这样的:
@pytest.mark.timeout(10.0) def test_something(): # 具体测试逻辑
这些测试只会在特定场景下触发超时失败,具体是:
- 在Circle CI上使用
cimg/python:3.10.15Docker执行器运行测试套件 - 测试是通过
uv sync创建虚拟环境,再用uv run pytest启动的
但只要换个方式,比如直接在CI runner的Python环境里用pip安装项目,不用uv创建虚拟环境和uv run来执行,就完全不会出现超时问题。
我自己还做了额外验证:手动统计这些测试函数的执行时间,确实能看到明显的变慢;而且换成完全不同的包管理器poetry,用poetry run pytest运行时,也会遇到同样的执行缓慢问题。
现在我完全搞不懂,为什么用uv或者poetry创建的虚拟环境里跑测试,速度就会掉这么多?有没有大佬遇到过类似情况,或者能给我一些排查的方向?
备注:内容来源于stack exchange,提问作者Sean Friedowitz
相关产品推荐
相关产品推荐

