DATA-DOG / go-sqlmock

Sql mock driver for golang to test database interactions
Other
6.05k stars 406 forks source link

QueryRowContext support #237

Open sheepman-x opened 3 years ago

sheepman-x commented 3 years ago

mycode

m.ExpectQuery("select name from t").WithArgs(1, 2)
db.QueryRow("select name from t where id in ? limit 1", []int{1, 2})
if err := m.ExpectationsWereMet(); err != nil {
    t.Errorf("there were unfulfilled expectations: %s", err)
}

i got

there were unfulfilled expectations: there is a remaining expectation which was not matched: ExpectedQuery => expecting Query, QueryContext or QueryRow which:
              - matches sql: 'select name from t'
              - is with arguments:
                0 - 1
                1 - 2

Query, QueryContext or QueryRow no QueryRowContext

fatelei commented 2 years ago

Firstly, sqlmocks support QueryRowContext, this is an example: https://go.dev/play/p/ExJZSW3TLDb Secondly, you do it in a wrong, this is a corret way: https://go.dev/play/p/Rucz0hKBNc3

Maybe the error message is misinformation