从覆盖范围排除功能

时间:2020-10-30 15:35:00

标签: python coverage.py test-coverage

我正在使用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(...) 函数?

1 个答案:

答案 0 :(得分:0)

我们可以在功能定义级别使用 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 ,因为覆盖默认值。

相关问题