Описание тега go-sqlmock
NoneSqlmock - это фиктивная библиотека, реализующая sql/driver. У которого одна и единственная цель - имитировать любое поведение драйвера sql в тестах без необходимости реального подключения к базе данных. Это помогает поддерживать правильный рабочий процесс TDD.
0
ответов
Использование sqlmock для возврата различных значений на основе входных аргументов
Вот мой запрос select col1, col2, col3 from tableX where col1 = ? and col2 = ? and col3 = ? Я устанавливаю издевательства вот так mock.ExpectQuery(regexp.QuoteMeta(myQuery)).WithArgs(col1Val, col2Val, col3Val).WillReturn(row1) Затем я настроил друго…
03 май '19 в 18:37
2
ответа
Как правильно установить Mock Row и Query для go-sqlmock
Я настраиваю тестирование в golang,я использую go-sqlmock проверить соединение MySQL.Но sqlmock.NewRows а также mock.ExpectQuery не работает с ошибкой.Я хочу знать, как решить эту ошибку. server side: golang db: mysql web framework: gin dao.go func …
30 авг '19 в 04:07
0
ответов
Модульное тестирование sqlmock не удалось с обновлением sql
Мы использовали sqlmock для тестирования func(), которые используют select - никаких проблем там нет. Это не работает с обновлениями. Функцию, которую мы хотим проверить: func PutTag(tag *Tag) error { ... err = db.DB.Where("id=?", tag.Id).Save(tag).…
30 авг '19 в 13:21
2
ответа
Как проверить метод вставки MySQL
Я настраиваю testing на ходу. я использую go-sqlmock тестировать mysql подключение. Сейчас я пытаюсь проверить MySQL insert логика. Но ошибка происходит.Я хочу знать, как решить эту ошибку. server side: golang db: mysql web framework: gin dao.go fun…
30 авг '19 в 18:58
1
ответ
Как установить макет gin.Context для BindJSON
Я настраиваю тестирование в Go,я использую go-sqlmock проверить соединение MySQL. Теперь я пытаюсь проверить mysql логику вставки. Проблема в том, что мне нужно установить макет gin.Context который используется для BindJSON потом.Но я не могу устано…
31 авг '19 в 01:27
1
ответ
`не удалось сопоставить фактическую ошибку sql` при насмешке gorm` updates` с помощью go-sqlmock?
Repository .go func (repo *Repository) Update(info *model.Requests) error{ if info == nil{ return nil } columnChanges := map[string]interface{}{ status: “completed", } if err := repo.db.Table(“requests").Model(info).Where(fmt.Sprintf("%s = ? AND %s …
03 апр '20 в 15:01
0
ответов
Ошибка "запрос не ожидался" на INSERT при модульном тестировании с использованием sqlmock
Я пытаюсь запустить модульный тест, который выполняет INSERT в БД, поэтому я издевался над той же строкой запроса, которая отображается в журнале gorm, с теми же аргументами, но у меня все еще возникают проблемы при попытке выполнить тест (с postgre…
23 янв '20 в 15:09
1
ответ
Не удается заставить тест работать для оператора INSERT
Мы потратили 2 разочаровывающих недели, пытаясь всевозможные перестановки функций и подходов с использованием sqlmock, но не смогли заставить тест работать для оператора INSERT. Это очень простой SQL-запрос. Просто простая вставка с использованием G…
13 дек '19 в 20:26
3
ответа
sqlmock не соответствует запросу, но запрос идентичен, и вывод журнала показывает то же самое
Я пытаюсь написать тесты для некоторого кода, используя Gorm, используя sqlmock. Я придумал, как писать тесты для моей функции вставки, но теперь выдергиваю волосы, пытаясь заставить обновление работать. Первая часть рабочего процесса просто запраши…
08 янв '20 в 21:43
1
ответ
Как имитировать вставку gorm с помощью go-sql (postgres)
Я использую Gorm с драйвером postgresql. Я пытаюсь имитировать вставку в базу данных с помощью go-sqlmock: type Test struct { FirstName string `json:"first_name"` } func (db *DB) CreateTest() (*Test, error) { test := Test{"c"} if result := db.Create…
10 фев '20 в 20:40
1
ответ
SQLMock - имитация связанного запроса DELETE
В настоящее время я пытаюсь написать тест для запроса к базе данных, но застрял, пытаясь понять, как его имитировать. У меня есть следующая структура (для справки): type User struct { ID uint `gorm:"column:id;primary_key"` CreatedAt time.T…
22 июн '20 в 08:21
2
ответа
Вызов Query с args [] не ожидался в go-sqlmock для составных SQL-запросов.
Мне удалось смоделировать запрос для выбора из одной таблицы следующим образом: sqlMock.ExpectQuery("^SELECT DISTINCT (.+) FROM myTable1, myTable2"). WillReturnRows(myResultRows) Но я не смог издеваться над следующим запросом, который проверяет нали…
28 сен '19 в 02:22
2
ответа
Модульные тесты Go - вызов транзакции базы данных Begin, не ожидалось ошибки
Я пытаюсь написать модульные тесты модели в Go, используя Data Dog go-sqlmock а также testify. Для этого у меня есть следующий код: type Suite struct { suite.Suite DB *gorm.DB mock sqlmock.Sqlmock repository Repository user *models.User } func (s *S…
11 ноя '19 в 18:51
1
ответ
Почему "mock.ExpectQuery" return "без аргументов"
Ниже мой файл модульного теста: func TestAddLike(t *testing.T) { 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() rows := sqlmock.NewR…
15 авг '20 в 12:06
0
ответов
Как издеваться над db.QueryRow с помощью sqlmock
Я создал мокроу для sql.rows. Я сослался на этот документ для создания мокров https://github.com/DATA-DOG/go-sqlmock Мне нужно создать макет для sql.row (например, db.QueryRow). Я не могу найти подходящий метод в sql.mock.Есть ли способ издеваться н…
20 ноя '19 в 12:49
0
ответов
sqlmock с возвращением GORM пустым
Макетная часть, похоже, работает, но, насколько я понимаю, мой метод GetCave должен возвращать строку, которую я добавил в макетную часть? Это реализация GRPC, и я использую buffconn в модульном тесте. Я получаю следующую ошибку: (cave.go:19) [2020-…
18 май '20 в 08:50
1
ответ
Как имитировать db с помощью sqlmock, соединение с db, полученное в функции
func loadDataFromDB() Data{ db, err := sql.Open("mysql","user:password@tcp(127.0.0.1:3306)/hello") if err != nil { log.Fatal(err) } defer db.Close() rows, err := db.Query("select id, name from users where id = ?", 1) if err != nil { log.Fatal(err) …
25 май '20 в 09:59
0
ответов
SQL Next не продвигает курсор
У меня есть функция, которую я использовал для перебора набора результатов из запроса: func readRows(rows *sql.Rows, translator func(*sql.Rows) error) error { defer rows.Close() // Iterate over each row in the rows and scan each; if an error occurs …
14 авг '20 в 10:07
0
ответов
Использование sqlmock для возврата nil для выполнения запроса в Golang
Я использую sqlmockимитировать выполнение запроса Snowflake. Это может показаться странным, но для следующего запроса: rows, err = db.Query(sqlQuery) Мне нужен макет, чтобы вернуться nil для обоих rows а также err. Обратите внимание, я хочуnil за ro…
18 апр '20 в 02:06
1
ответ
Использование одинаковых ожидаемых строк для нескольких ожидаемых запросов возвращает результат только для первого с sqlmock
Я пишу тесты с sqlmock в go. У меня есть список строк (например,myRows) и два разных SELECT утверждения, которые я хочу использовать myRows в качестве WillReturnRows аргумент для них обоих: myRows := sqlmock.NewRows([]string{"my_column"}).AddRow(1) …
02 фев '20 в 10:53