go-sqlmock简单选择查询不起作用

时间:2019-07-01 12:31:30

标签: postgresql go

我的主要代码如下:

func testdb(db *sql.DB)  error {
    query := "SELECT test_col FROM test_table"
    rows, err := db.Query(query)
    if err != nil {
        return err
    }

    if rows != nil {
        log.Info("got data")
    }

    return nil
}

此功能的测试用例:

db, mock, err := sqlmock.New()
if err != nil {
    t.Fatalf("an error '%s' was not expected when opening a stub database connection", err)
}
defer db.Close()

mock.ExpectBegin()
rows := sqlmock.NewRows([]string{"test_col"}).AddRow("test-col")
query := "SELECT test_col FROM test_table"
mock.ExpectQuery(query).WillReturnRows(rows).WillReturnError(nil)
mock.ExpectCommit()

err = testdb(db)
if err != nil {
    log.Error(err)
}

我收到此错误

  

使用参数args []来查询'SELECT test_col FROM test_table'的调用不是所期望的,下一个期望是:ExpectedBegin =>期望数据库事务开始

我尝试查看sql模拟示例,看起来我在做同样的事情, 甚至查询在main方法中也完全相同。

0 个答案:

没有答案