仅针对其他人的代码禁止pytest警告

时间:2019-02-16 11:09:04

标签: pytest

我第一次尝试pytest。如何抑制发布有关我的代码所依赖的其他人代码的警告而又不抑制有关我自己的代码的警告?

现在我在pytest.ini中有此文件,因此我不必看到pytest警告我正在使用的jsonschema程序包已过时。

[pytest]
filterwarnings =
    ignore::DeprecationWarning

但是现在,如果我在自己的代码中编写任何会引发弃用警告的内容,我都会错过它。

1 个答案:

答案 0 :(得分:4)

pytest-warning的语法为action:message:category:module:lineno。您可以使用此配置仅忽略jsonschema:

[pytest]
filterwarnings =
    ignore::DeprecationWarning:jsonschema

您也可以在这些字段中使用正则表达式。如果要排除除您以外的所有警告,则:

[pytest]
filterwarnings =
    ignore::DeprecationWarning:!yourtestmodule

Pytest使用与python相同的filterwarning。您可以在此处了解有关python警告的更多信息:https://docs.python.org/3/library/warnings.html#warning-filter

来源:https://github.com/fschulze/pytest-warnings/blob/master/pytest_warnings/init.py#L18