📅  最后修改于: 2023-12-03 15:04:02.246000             🧑  作者: Mango
在使用 Pytest 运行测试时,有时候会遇到一些警告信息,而这些警告信息并不是我们所关心的。这时候可以使用 Pytest 提供的 pytest.mark.filterwarnings
标记来过滤掉这些警告信息。
import pytest
import warnings
@pytest.mark.filterwarnings("ignore")
def test_function():
with warnings.catch_warnings():
warnings.simplefilter("ignore")
# 测试代码
其中,pytest.mark.filterwarnings
标记接收一个字符串参数,指定需要忽略的警告信息。参数可以是一条字符串,也可以是多条字符串组成的列表。
该标记适用于函数、类和模块级别的测试。
下面是一个示例,演示如何使用 pytest.mark.filterwarnings
标记来忽略一个特定的警告信息:
import pytest
import warnings
@pytest.mark.filterwarnings("ignore:.*U.*:DeprecationWarning")
def test_function():
with warnings.catch_warnings():
warnings.simplefilter("ignore")
# 测试代码
在这个示例中,我们使用 pytest.mark.filterwarnings
标记来忽略所有 DeprecationWarning 警告中包含 U 字符的信息。
with warnings.catch_warnings():
块中,只在该块范围内忽略。