微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从覆盖范围排除功能

如何解决从覆盖范围排除功能

我正在使用coverage.py获取代码的测试范围。

假设我在两个不同的模块中具有同一个名称两个函数

# foo/foo.py

def get_something():
    # fetch something
    # 10 line of branch code
    return "something foo/foo.py"


# bar/foo.py

def get_something():
    # fetch something
    # 20 line of branch code
    return "something bar/foo.py"

如何“完全”排除 bar.foo.get_something(...) 函数

解决方法

我们可以在功能定义级别使用 pragma 注释,该注释告诉 coveragepy 完全排除该功能。>

# bar/foo.py

def get_something(): # pragma: no cover
    # fetch something
    # 20 line of branch code
    return "something bar/foo.py"

注意

如果我们在coveragepy config file中设置了exclude_lines,请确保在该设置中 pragma: no cover ,因为覆盖默认值。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。