Python单元测试-IndexError:列表索引超出范围



我目前正在尝试对python应用程序进行赋值的单元测试,但我在涉及该代码块的所有测试中都会出现上述错误。相同的代码适用于其他成员部分。

columns = ['id', 'column1', 'column2', 'column3', 'column4']
values = [(1, 33, 1, 1, 1)]
json = {columns[i]: values[i] for i in range(len(columns))}

在mysql中,每一列都是int(11(,如果这会影响它的话

您的values变量只有一个成员,它是一个5 int的列表!所以values[i]不能超过values[0]
您可以将values变量更改为5 int的列表,如下所示:

values = [1, 33, 1, 1, 1]  

或者将其更改为5 int的元组,如下所示:

values = (1, 33, 1, 1, 1) 

或者你不能改变你的值变量,让它像这样发生:

json = {columns[i]: values[0][i] for i in range(len(columns))}  

使用values[0][i],您将到达每个列表整数

您的IndexError可以解决!

values更改为

values = (1, 33, 1, 1, 1)

json = {columns[i]: values[0][i] for i in range(len(columns))} 

最新更新