gpt4 book ai didi

python - Pytest Hook 导致测试运行多次

转载 作者:太空宇宙 更新时间:2023-11-04 05:08:12 24 4
gpt4 key购买 nike

我成功地实现了一个pytest hook,但是,现在所有测试都在运行多次。

在我的根文件夹中,我将以下代码添加到 conftest.py 以激活 Hook :

def pytest_report_teststatus(report):
if report.passed:
letter = "."
longrep = ' \u2714 '
elif report.skipped:
letter = "s"
longrep = ' \u27A5 '
elif report.failed:
letter = "F"
longrep = ' \u2717 '
if report.when != "call":
letter = "f"
return report.outcome, letter, report.outcome.upper() + longrep

当我移除钩子(Hook)时,每个测试运行一次。

如何在使用 Hook 时让测试运行一次?

最佳答案

pytest_report_teststatus 钩子(Hook)似乎在测试过程中被多次调用,(即拆卸、调用、设置)

我在 block 的开头添加了一个条件语句来检测何时调用了hook 并且只返回了一次值。

def pytest_report_teststatus(report):
if report.when == 'call': # <-- Added this line
if report.passed:
letter = '.'
longrep = ' \u2714 '
elif report.skipped:
letter = 's'
longrep = ' \u27A5 '
elif report.failed:
letter = 'F'
longrep = ' \u2717 '
return report.outcome, letter, report.outcome.upper() + longrep

添加 if report.when == 'call' 解决了这个问题。

关于python - Pytest Hook 导致测试运行多次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43775723/

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