如何使pytest中的--maxfail参数作分别作用于每个测试套

背景:
在test_case/目录下有两个测试套A.py和B.py。每个测试套里有N个用例
执行测试 pytest.main(['test_case/', '--maxfail=2'])

求问:
此时的最大失败数2是针对整个测试过程的,即如果A.py里已经失败了2个用例,则直接不会进行B.py的测试。但实际需求是期望这两个测试套分别最多能失败2个。请问该如何设置?

pytest 的 --maxfail 参数是全局的,它适用于整个测试会话,而不是单独的测试文件或测试套。为了达到你的需求,你可能需要分开运行每个测试文件,每次都使用 --maxfail 参数。这可以通过在一个循环中运行 pytest.main() 来实现。

import pytest

test_files = ['test_case/A.py', 'test_case/B.py']

for file in test_files:
    pytest.main([file, '--maxfail=2'])



如果有帮助,请点击一下采纳该答案~谢谢