pytest warningsfilter使用pytest.warns(..)中断测试

时间:2017-09-15 21:19:36

标签: python travis-ci pytest

我在pytest中使用filterwarnings时遇到一个奇怪的错误。我正在尝试过滤MDAnalysis上引发的警告。目前我有以下配置。

[tool:pytest]
filterwarnings= always

使用该配置,所有测试都在python 2和3 travis上传递。由于MDAnalysis使用大量警告来通知用户各种事情,因此会导致大量警告。现在要过滤警告以查看除User和一些RuntimeWarning之外的所有内容,我使用以下config

[tool:pytest]
filterwarnings= all
                  ignore::UserWarning
                  ignore:invalid value encountered in.*:RuntimeWarning

现在有些测试仅在python 2 Travis上失败。测试检查是否引发了UserWarning。奇怪的是,这仅适用于少数测试。使用pytest.warns(UserWarning)的大多数测试仍然可以正常工作。我不明白为什么这只影响python 2上的一些测试。在python 2和python 3上的警告处理方式不同吗?

0 个答案:

没有答案