Python 单元测试使用pytest返回值的void方法
例如,我如何进行以下方法的单元测试Python 单元测试使用pytest返回值的void方法,python,json,unit-testing,testing,pytest,Python,Json,Unit Testing,Testing,Pytest,例如,我如何进行以下方法的单元测试 def list_append(): data = [] for file in files_list: with open(file) as f: data.append(json.load(f)) return data 据我所知,在方法中无法单独测试局部变量的值,但如果我错了,请纠正我。提前谢谢你在说什么局部变量f?在这种情况下,您需要模拟打开,以便首先控制绑定到f的内容;它是一个自由变量
def list_append():
data = []
for file in files_list:
with open(file) as f:
data.append(json.load(f))
return data
据我所知,在方法中无法单独测试局部变量的值,但如果我错了,请纠正我。提前谢谢你在说什么局部变量<代码>f?在这种情况下,您需要模拟
打开
,以便首先控制绑定到f
的内容;它是一个自由变量,在调用list\u append
之前,可以通过直接赋值来更改其值。(尽管这强烈地表明文件列表
应该是函数的一个参数。)我实际上是在说数据
。我会调查嘲弄。另外,您是对的,files\u list
是一个全局变量,因此如果我将其作为参数引入可能会更好。您不需要在测试期间模拟数据或检查其值。调用该函数,并检查其返回值是否与您期望的值一致,并给出适当的“输入”(即文件的值以及这些文件的相关内容)。