我曾经多次做过以下事情:

#    code
m.   with open(somefile, modes) as data_interface:
..      ...
n.   ...

然后当尝试使用python的coverage模块提供测试覆盖时,它抱怨错过了一个分支,其中'with'是('m'行)到块后面的行(n行) .

我还没弄清楚如何获得覆盖以识别分支不是问题 . 我最终只回到使用没有上下文管理器的open()调用;但我真的更愿意继续在上下文管理器中使用它 .

想法?