我正在用sqlmockin编写测试go。我有一个行列表(例如myRows)和两个不同的SELECT语句,我想将它们myRows用作WillReturnRows它们的参数:myRows := sqlmock.NewRows([]string{"my_column"}).AddRow(1)mock.ExpectQuery(firstQuery).WillReturnRows(myRows)mock.ExpectQuery(secondQuery).WillReturnRows(myRows)当我在 first 中使用它时,它会作为结果WillReturnRows返回。1但是在第二种用法中,没有任何行作为结果返回;我的意思是空行返回。我打印了myRows第一次通话之前和之后,以检查它是否已被消耗;对象没有变化:Rows Before: &{[my_column] [[1]] 0 map[] <nil>}Rows After: &{[my_column] [[1]] 0 map[] <nil>}编辑1:我使用了以下代码,它可以工作;这意味着两个查询都返回1:myRows1 := sqlmock.NewRows([]string{"my_column"}).AddRow(1)myRows2 := sqlmock.NewRows([]string{"my_column"}).AddRow(1)mock.ExpectQuery(firstQuery).WillReturnRows(myRows1)mock.ExpectQuery(secondQuery).WillReturnRows(myRows2)
- 1 回答
- 0 关注
- 197 浏览
添加回答
举报
0/150
提交
取消