假设我们有以下代码:
def judgement():
content = _get_config_content()
# do something in content
return content + '.'
def _get_config_content():
with open('test_config', 'r') as f:
return f.read()
我想测试judgement
函数,正如我们看到的那样:判断函数正在调用_get_config_content()
,该函数的目标是私有的,而_get_config_content()
将打开文件并阅读。
存根文件读取部分是很好的,存根文件读取逻辑有两种方法:
存根私有_get_config_content()
函数,并使其仅返回假结果。
对内置open
函数进行存根,并使其返回假文件对象。
哪种方法更好?还是有其他方法可以在单元测试中存根文件系统?
答案 0 :(得分:0)
在这种情况下,我建议对_get_config_content()
进行存根:a)更简单,因为只需要对一个函数存根。 b)您不会损失太多,因为在单元测试_get_config_content()
中没有太多价值:无论如何,应该在集成测试中测试该功能。