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

时间:2018-12-11 05:10:24

标签: python json unit-testing

我目前正在尝试对某个应用程序的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)。

2 个答案:

答案 0 :(得分:2)

values更改为

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

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

答案 1 :(得分:2)

您的values变量只有一个成员,该成员是5个int的列表!因此values[i]不能超出值[0]
您可以像这样将value变量更改为5个int的列表:

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

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

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

否则您就不能更改您的values变量并使它像这样发生:

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

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

您的IndexError可以解决!