if typing.TYPE_CHECKING blocks are never run but are still counted as needing test coverage.
( https://docs.python.org/3.7/library/typing.html#typing.TYPE_CHECKING )
Example
from typing import TYPE_CHECKING
if TYPE_CHECKING:
# coverage.py thinks this is not covered because TYPE_CHECKING is True at runtime
...
else:
....
You have to add # pragma: no_cover to the if block here because coverage.py assumes TYPE_CHECKING to be False, and therefore assumes one of the blocks does not have a test case. It would be good if you didn't have to, and blocks requiring TYPE_CHECKING to be True are assumed to not need test cases.
if typing.TYPE_CHECKINGblocks are never run but are still counted as needing test coverage.( https://docs.python.org/3.7/library/typing.html#typing.TYPE_CHECKING )
Example
You have to add
# pragma: no_coverto theifblock here because coverage.py assumes TYPE_CHECKING to be False, and therefore assumes one of the blocks does not have a test case. It would be good if you didn't have to, and blocks requiring TYPE_CHECKING to be True are assumed to not need test cases.