假设我们有以下代码:
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()
将打开文件并读取它。你知道吗
最好去掉文件读取部分,有两种方法来存根文件读取逻辑:
stub private_get_config_content()
函数,并使其仅返回假结果。
存根内置的open
函数,并使其返回假文件对象。
哪条路更好?或者在单元测试中是否有其他方法来存根文件系统?你知道吗
在这种情况下,我建议存根
_get_config_content()
:a)它更简单,因为您只需要存根一个函数。b) 您不会损失太多,因为单元测试没有太多价值_get_config_content()
:无论如何,该函数应该在集成测试中进行测试。你知道吗相关问题 更多 >
编程相关推荐