我有一个用例,我有一堆文件需要按顺序连接,在连接到输出后删除每个文件。代码看起来像这样:
def compile(self):
with open("output.file", "wb") as outfile:
for part in sorted(self.parts):
with open(part, "rb") as infile:
for line in infile:
outfile.write(line)
os.remove(part)
# do other logic ...
我很难想出一种正确测试此代码的方法。我想确定:
- 零件按排序顺序排序和循环。
- 每个输入文件被逐行读取并写入输出文件。
- 每个输入文件在用尽后被删除。
我的主要困难是模拟文件对象。我正在使用 Python 的mock
库,但我不确定在哪里修补以及如何完成它。如何修补文件对象以确保所有内容都正确写入?