gpt4 book ai didi

python - 测试 : Allow Failure Rate

转载 作者:太空狗 更新时间:2023-10-30 02:15:52 24 4
gpt4 key购买 nike

我目前正在开展一个项目,我们正在运行大量参数化测试 (>1M)。测试是随机生成的用例,在这个大的测试空间中,预计在每次运行中某些边缘案例会失败,大约 1-2%。是否有 Pytest 的实现,您可以在其中传递故障率参数或处理此行为?

最佳答案

我想你想要的是修改 pytest 命令的退出状态,有一个 nonpublic hook ,名为 pytest_sessionfinish,可以做到这一点。

考虑您有以下测试:

def test_spam():
assert 0

def test_ham():
pass

def test_eggs():
pass

和 conftest.py 中的一个钩子(Hook):

import pytest, _pytest

ACCEPTABLE_FAILURE_RATE = 50

@pytest.hookimpl()
def pytest_sessionfinish(session, exitstatus):
if exitstatus != _pytest.main.EXIT_TESTSFAILED:
return
failure_rate = (100.0 * session.testsfailed) / session.testscollected
if failure_rate <= ACCEPTABLE_FAILURE_RATE:
session.exitstatus = 0

然后调用 pytest:

$ pytest --tb=no -q tests.py
F.. [100%]
1 failed, 2 passed in 0.06 seconds

这里的失败率为1/3 == 33.3%,低于50%:

$ echo $?
0

可以看到pytest的退出状态为0

关于python - 测试 : Allow Failure Rate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47726778/

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