Python 将代码覆盖率提高到100%—除通过外,请尝试->;抑制

Python 将代码覆盖率提高到100%—除通过外,请尝试->;抑制,python,exception,code-coverage,pytest,contextmanager,Python,Exception,Code Coverage,Pytest,Contextmanager,我对pytest感到困惑,不知道是否有人知道发生了什么 我试图让一个项目的代码覆盖率达到100%。 缺少的两行是try-except-pass的except和pass部分: > USER, PASS = None, None > try: > from secrets import USER, PASS ! except ImportError: ! pass 我把它改成: with suppress(ImportError): from secret

我对pytest感到困惑,不知道是否有人知道发生了什么

我试图让一个项目的代码覆盖率达到100%。 缺少的两行是try-except-pass的except和pass部分:

> USER, PASS = None, None
> try:
>     from secrets import USER, PASS
! except ImportError:
!     pass
我把它改成:

with suppress(ImportError):
    from secrets import USER, PASS
现在我的测试(?)涵盖了导入,尽管我没有添加任何测试


为什么??这是怎么回事?

因为您已删除了除块之外的
。覆盖率只是检查代码的行,因为很明显,当到达代码的这一部分并成功执行它时,您的测试不会引发
ImportError
。而
coverage
将这些计算为已覆盖