Использование sqlmock для возврата nil для выполнения запроса в Golang - PullRequest
0 голосов
/ 18 апреля 2020

Я использую sqlmock, чтобы высмеивать выполнение запроса Snowflake. Это может выглядеть странно, но для следующего запроса:

rows, err = db.Query(sqlQuery)

Мне нужно, чтобы макет возвратил nil для rows и err. Обратите внимание, я хочу nil для rows не пустой набор. Вот моя функция. Я также попробовал утверждения в комментариях.

func mockSnowflake(t *testing.T, sqlQuery string) (*sql.DB, sqlmock.Sqlmock) {
    db, mock, err := sqlmock.New()
    // 5 is because I'll be calling db.Query() 5 times
    for i := 1; i <= 5; i++ {
        //mock.ExpectQuery(sqlQuery).WillReturnRows(sqlmock.NewRows(nil))
        //mock.ExpectQuery(sqlQuery).WillReturnRows(sqlmock.NewRows([]string {"Test Column"}).AddRow(nil))
        mock.ExpectQuery(sqlQuery).WillReturnRows(nil)
    }
    return db, mock
}

Как мне изменить функцию?

...