我有一个大型测试套件,包含数千个信息提取引擎的测试。大约有500个输入,我必须从每个输入中提取10-90项信息。
为了达到最大的透明性,我分别从每个输入中测试每个项,这样我就可以查看pytest日志,并准确地判断哪个测试在代码更改后翻转。但是,由于在每个测试中运行提取是没有效率的,所以我组织了我的测试,所以每次输入只进行一次提取,设置了一个测试全局变量,然后每个测试只检查结果的一个方面。
在使用python时,这种设置似乎阻止了任何加速增益。显然,pytest仍然会在一个线程中初始化所有500个测试文件,然后让单个工作人员执行测试方法--但是实际的测试不需要时间,所以我什么也不保存!
有没有一种简单的方法可以指示pytest-xdist将测试文件而不是测试方法分发给工作人员,这样我就可以并行处理对引擎的500次调用了吗?
发布于 2022-07-02 10:27:17
根据官方文档- https://pytest-xdist.readthedocs.io/en/latest/distribution.html,您可以使用以下内容之一:
@pytest.mark.xdist_group标记所有相关测试),并使用标志--dist loadgroup运行cli。如果您使用OOP样式(带有测试方法的测试类或带有测试的模块)--使用pytest CLI标志--dist loadscope,则可以帮助您在孤立的worker
https://stackoverflow.com/questions/72838240
复制相似问题