2

这是我的程序中的流程

277: try:
278:    with open(r"c:\afile.txt", "w") as aFile:
...:        pass # write data, other exceptions/errors can occur here that have to be handled by the caller
329: except IOError as ex:
...:    print ex
332: finally:
333:    if os.path.exists(r"c:\afile.txt"):
334:        shutil.copy(r"c:\afile.txt", r"c:\dest.txt")

除了从第 278 行到第 333 行之外,我已经覆盖了所有路径

  • 我得到了正常的快乐流。
  • __builtin__.open当使用所述文件名调用 open 时,我存根引发 IOError

但是我如何从 278 到 333。这甚至可能吗?


附加信息:-使用coverage.py 3.4(我们不能升级到3.5)

4

2 回答 2

2

Daan,这可能代表了coverage.py中的一个错误。我从您的描述中假设您正在使用分支覆盖,并且coverage.py 声称缺少 278-333。如果您可以将其缩减为可重现的测试用例,我将为它创建一张票。

于 2012-04-13T12:11:09.227 回答
0

通常以以下方式处理流程

try:
    with open(r"C:\file.txt", "w") as aFile:
        a.File.write("!")
    if os.path.exists(r"C:\file.txt"):
        shutil.copy(r"C:\file.txt", r"C:\dest.txt")
except IOError as ex:
    print ex
于 2012-04-12T11:25:41.213 回答