简体   繁体   中英

Go Mock postgresql errors

As discussed in this answer , I have written code for checking a unique key violation:

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

For writing unit-testcases, I need to mock this error. I have written the mock for the error like this:

return pq.Error{Code: "unique_violation"}

But this does not matches with the code. How do I mock the pq.Error ?

As noted in the Godoc , ErrorCode is a five-character error code. err.Code.Name() gets the human-friendly version of the error, but the error itself should be represented, and thus constructed, by the error code, which in this case is 23505 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM