如何在unittest pytes中替换函数内部的变量

2024-09-30 18:29:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个关于替换变量内部方法的问题,我必须测试,即:

def find_files(path):
    path_dir = os.listdir(path)
    ...

为了测试的需要,我必须将path_diros.listdir的实际结果替换成某个测试列表,即['whatever1.txt', 'whatever2.txt', 'whatever3.txt']

怎么做? 比尔,达米安


Tags: path方法txt列表osdefdirfiles
2条回答

你应该试试模仿操作系统列表目录返回模拟测试数据。在

可以使用^{}为变量设置返回值。 例如

with patch('os.listdir') as mocked_listdir:
    mocked_listdir().return_value = ['.', '..']
    find_files(path)

或者您也可以设置side effect

^{pr2}$

相关问题 更多 >