我想对这个功能进行单元测试。它从磁盘打开一个文件,但我希望单元测试不依赖于外部数据,并且完全与文件系统分离。
def instrument_map(map_filename='Instruments.txt'):
"""Maps instrument prefix to filename"""
with open(map_filename) as f:
return dict(line.rstrip().split(' ', 1) for line in f)
我已经阅读了关于嘲讽和StringIO
的内容,但无法弄清楚如何实施其中任何一项。哪个是更好的方法,从哪里开始?
Instruments.txt
的内容如下所示:
00分数
01 SopranoCn
02 SoloCn
答案 0 :(得分:0)
由于您没有提供您尝试过的任何代码,因此很难猜出您的问题是什么。
如果您不知道从哪里开始,请查看mock_open
库中的patch
和mock
函数:
>>> from mock import mock_open, patch
这两个函数可以帮助你模拟你的功能。