我希望在我的代码中模拟此查询("select max(a) from public.abc where id = %d"
)
我嘲笑这句话的方式是
maxofa := 1 maxofarows := sqlmock.newrows([]string{"a"}).addrow(maxofa) suite.mock.expectquery("select max(a) from public.abc co where id = \$1").withargs(1).willreturnrows(maxofarows)
我看到了这个错误
Error: Query: could not match actual sql: "select max(a) from public.abc where id = 1" with expected regexp "select max(a) from public.abc where id = 1"
模拟 max() 这样的 sql 函数的正确方法是什么
我的错误是我没有将模拟查询包含在 (regexp.QuoteMeta()) 中。将查询包含在 quotemeta 中确实解决了我的问题 参考:https://pkg.go.dev/regexp#QuoteMeta
不会删除这篇文章,希望它能帮助像我这样的人。