- 全取得
- 一部取得
- 作成
- 削除
- 更新
記述なし
mysqlの場合は
SkipInitializeWithVersion: true
が必須です。
func GetNewDbMock() (*gorm.DB, sqlmock.Sqlmock, error) {
db, mock, err := sqlmock.New()
if err != nil {
return nil, mock, err
}
gormDB, err := gorm.Open(mysql.Dialector{Config: &mysql.Config{DriverName: "mysql", Conn: db, SkipInitializeWithVersion: true}}, &gorm.Config{})
if err != nil {
return gormDB, mock, err
}
return gormDB, mock, err
}
記述なし
注意: SQLクエリの正規表現は重要
gorm Transactions official guide
DATA-DOG/go-sqlmockを使ってGormDBをmockする
go-sqlmockを使ってGORMで書いたコードをテストする