1
0
mirror of https://github.com/DATA-DOG/go-sqlmock.git synced 2025-05-17 22:13:06 +02:00

Merge pull request #314 from chrisirhc/patch-1

WIP: Fix WillReturnRows(nil) in expectations_go18.go
This commit is contained in:
Neenad Ingole 2024-08-13 22:53:20 +02:00 committed by GitHub
commit 49e34f68ea
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 25 additions and 1 deletions

View File

@ -17,7 +17,7 @@ func (e *ExpectedQuery) WillReturnRows(rows ...*Rows) *ExpectedQuery {
sets := make([]*Rows, len(rows))
for i, r := range rows {
sets[i] = r
if r.def != nil {
if r != nil && r.def != nil {
defs++
}
}

View File

@ -123,3 +123,27 @@ func TestExecWithNoArgsAndWithArgsPanic(t *testing.T) {
mock := &sqlmock{}
mock.ExpectExec("^INSERT INTO user").WithArgs("John").WithoutArgs()
}
func TestQueryWillReturnsNil(t *testing.T) {
t.Parallel()
db, mock, err := New()
if err != nil {
t.Fatal(err)
}
defer db.Close()
defer func() {
if err := recover(); err != nil {
t.Error(err)
}
}()
mock.ExpectQuery("SELECT (.+) FROM users WHERE (.+)").WithArgs("test").WillReturnRows(nil)
query := "SELECT name, email FROM users WHERE name = ?"
_, err = mock.(*sqlmock).Query(query, []driver.Value{"test"})
if err != nil {
t.Error(err)
}
}