Go Mock postgresql ошибки - PullRequest
       18

Go Mock postgresql ошибки

0 голосов
/ 29 октября 2018

Как обсуждалось в этом ответе , я написал код для проверки нарушения уникального ключа:

if err, ok := err.(*pq.Error); ok {
    if err.Code.Name() == "unique_violation" {
        fail(w, http.StatusBadRequest, 0, "Item already exists")
                    return
        }
}

Для написания юнит-тестов мне нужно издеваться над этой ошибкой. Я написал макет для ошибки, как это:

return pq.Error{Code: "unique_violation"}

Но это не соответствует коду. Как мне издеваться над pq.Error?

1 Ответ

0 голосов
/ 29 октября 2018

Как отмечено в Godoc , ErrorCode is a five-character error code. err.Code.Name() получает понятную человеку версию ошибки, но сама ошибка должна быть представлена ​​и, таким образом, построена с помощью кода ошибки, который в этом случае составляет 23505 .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...