У меня следующий код в главном 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)
}
Я получаю эту ошибку
вызов к «SELECT test_col FROM test_table» с аргументами [], не ожидался, следующее ожидание: ExpectedBegin => ожидание транзакции базы данных Begin
Я пытался увидеть примеры из sql mock, похоже, я делаю то же самое,
Четный запрос в основном методе точно такой же, как и в mock.h