如何在pytest中忽略python UserWarning?

时间:2018-11-22 16:16:36

标签: python pytest openpyxl user-warning

我正在使用openpyxl解析.xlsm文件,并使用pytest进行测试。

打开文件时,我得到:
OpenPyxl-> UserWarning:不支持数据验证扩展,该扩展将被删除

bcs确实不是问题。程序正常工作,我无法更改.xlsm文件来解决该问题。

但是... 当我用以下命令运行pytest时:

def test_wrong_file_format():  
    assert check_excel(open_excel('file.xlsm')) == True

我将得到我提到的警告,其中check_excel(open_excel('file.xlsm'))返回True,并且测试应该成功...

是否有一种很好的方式告诉pytest:“这不是bug,它是一项功能”,即使收到警告,测试也应该通过?

除了使用类似方法之外,还有其他方法吗?

with pytest.warns(UserWarning):
    warnings.warn("my warning", UserWarning)

谢谢你,
汤姆

1 个答案:

答案 0 :(得分:1)

根据官方文档(pytest) @ pytest.mark.filterwarnings-是正确的方法。 只需选择正确的参数即可,例如:

@pytest.mark.filterwarnings('ignore:UserWarning');