Exclude a function from coverage

Question:

I am using coverage.py to get the test coverage of the code.

Suppose I have two functions with the same name in two different modules

# 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"

How can I exclude the bar.foo.get_something(...) function "completely" ?

Asked By: JPG

||

Answers:

We can use pragma comment on the function definition level which tells the coveragepy to exclude the function completely.

# bar/foo.py

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

Note

If we have the coveragepy config file with an exclude_lines setting in it, make sure that pragma: no cover in that setting because it overrides the default.

Answered By: JPG