使用sqlmock根据输入args返回不同的值

时间:2019-05-03 18:37:23

标签: go testing mocking go-sqlmock

这是我的查询

select col1, col2, col3 from tableX where col1 = ? and col2 = ? and col3 = ?

我这样设置模拟对象

mock.ExpectQuery(regexp.QuoteMeta(myQuery)).WithArgs(col1Val, col2Val, col3Val).WillReturn(row1)

然后我设置了另一个这样的期望查询

mock.ExpectQuery(regexp.QuoteMeta(myQuery)).WithArgs(x,y,z).WillReturn(row2)

但是它没有返回row2。而是我得到了“没有行”。我在这里想念什么吗? (我是Go的新手)

忘记提及此查询在for循环中被调用。对于for循环的第一次迭代,值为col1Valcol2Valcol3Val,对于第二次迭代,值为xy和{{1} }。

0 个答案:

没有答案