Below is my unit test file:
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.NewRows([]string{"id", "title", "body"}).
AddRow(1, "post 1", "hello").
AddRow(2, "post 2", "world")
mock.ExpectQuery("SELECT (.+) FROM testmock").
WillReturnRows(rows)
if err := mock.ExpectationsWereMet(); err != nil {
t.Errorf("there were unfulfilled expectations: %s", err)
}
}
framework:gin
database: gorm
I want to write a unit test..
I have two questions:
- How
sqlmock.New()
choose the database? - Why
mock.ExpectQuery
returnis without argument
Thanks in advance.