我有以下代码正在插入到表中
func (s *MyRepo) InsertValue(ctx context.Context, orderID string) error {
_, err := s.db.DatabaseBuilder().
WithContext(ctx).
DeleteFrom("orders").
Where("orderID=?", orderID).
Exec()
return err
}
为了测试此代码,我编写了以下测试
func TestMyRepo_InsertValue_Error(t *testing.T) {
orderID := "ORDERID"
dbError := "DB_ERROR"
mockDB, repo := getDBStore()
mockDB.ExpectExec("INSERT INTO `orders` (`orderID`) VALUES (?)").
WithArgs(orderID).
WillReturnError(errors.New(dbError))
err := repo.InsertValue(context.Background(), orderID)
assert.Equal(t, dbError, err.Error())
}
为此,我收到错误提示
+ExecQuery 'INSERT INTO `orders` (`orderID`) VALUES (?)', does not match regex 'INSERT INTO `orders` (`orderID`) VALUES (?)'
错误中的两个SQL语句相同(至少多数民众赞成在我看来)。我想念什么吗?我如何在这里测试我的插入功能