使用 python 覆盖测试忽略不推荐使用的方法

Ignore deprecated methods with python coverage testing

我正在对包含大量已弃用(使用 the deprecated package)方法的代码库进行一些覆盖率分析。

这些已弃用的方法中的大多数都没有进行任何测试。因此,在进行代码覆盖分析(使用 coverage)时,这些方法会极大地污染结果,并且难以识别重要的未覆盖区域。

我知道我可以在这些方法中手动添加 #pragma: no cover 来忽略它们。但是,由于他们已经有了那个装饰器,我很好奇我是否可以自动过滤这些情况,例如使用类似于 exclude_lines =...

的东西

您应该能够使用与装饰器匹配的正则表达式定义 exclude_lines,它将应用于装饰函数:

[report]
exclude_lines = 
    pragma: no cover
    @deprecated

(等...)