由于 pytest-json-report 插件导致的 Pytestpluggy._manager.PluginValidationError

问题描述 投票:0回答:2

我将

pytest
pytest-json-report
插件一起使用。我在
pytest_json_modifyreport
文件中有
conftest.py
挂钩。

当我运行命令

pytest --json-report
时,就可以了。但是当我运行简单的
pytest
命令时,它会产生以下结果:
pluggy._manager.PluginValidationError: unknown hook 'pytest_json_modifyreport' in plugin

是否可以在不注释掉钩子的情况下消除该错误?

pytest
2个回答
5
投票

根据官方文档

关于挂钩的说明

如果您使用 pytest_json_* 挂钩,尽管插件未安装或 不活动(不使用 --json-report),pytest 无法识别它,并且可能会失败并出现如下内部错误:

INTERNALERROR> pluggy.manager.PluginValidationError: unknown hook 'pytest_json_runtest_metadata' in plugin <module 'conftest' from 'conftest.py'>

您可以通过声明钩子实现可选来避免这种情况:

import pytest
@pytest.hookimpl(optionalhook=True)
def pytest_json_runtest_metadata(item, call):
    ...

0
投票

如此处所述,更新到 pytest 7 后,Pytest 无法工作 尝试一下

pip install pytest-html
© www.soinside.com 2019 - 2024. All rights reserved.