我被pytest困惑,并想知道是否有人知道发生了什么 .
我试图将项目的代码覆盖率提高到100% . 缺少的2行是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
现在导入由我的测试(?)覆盖,即使我没有添加任何测试 .
为什么?这里发生了什么?
1 回答
因为您已删除了
except
块 . Coverage只检查代码行,因为很明显,当到达代码的这一部分并成功执行时,您的测试不会引发ImportError
. 并且coverage
将这些视为涵盖范围 .