Doctrine DBAL 不認識 MySQL enum 型別導致 migration 失敗。介紹 Type::addType 與 registerDoctrineTypeMapping 兩種解法。
從頭重寫 PHPUnit for VSCode,整合 VS Code Testing API 讓測試結果即時顯示在側邊欄,新增 Docker 和 SSH 遠端執行環境支援。
Transaction 內 dispatch 的 Job 因 SerializesModels 讀到舊資料,用 afterCommit() 讓 Job 等 commit 後再入列。
複雜頁面測 HTML 很脆弱,改用 viewData() 直接驗 View 變數更穩定;比較 Model 時用 id 或 toArray() 而非直接 assertEquals 物件。
用 Mockery::spy 包裝 closure,解決在 closure 內寫 assertion 無法偵測「callback 根本沒被呼叫」的盲點,同時驗證參數和呼叫次數。
直接 mock IteratorAggregate 物件會導致 foreach 無法迭代。讓 getIterator 回傳 ArrayObject,測試中即可正常迭代 mock 資料。
Laravel 的 min/max 規則預設比較字串長度而非數值,導致 0 通過驗證。加上 numeric 規則後才會做數值比較,避免驗證邏輯出錯。
方法內部有 random_int 導致回傳值不固定時,用 Mockery::capture 搭配 passthru 抓出中間值,就能算出確定的 expected 值來完成 assertion。
VMware Fusion Player 提供個人免費授權,到官網建立帳號即可取得 License Key 和下載連結,附上表單驗證失敗時可用的備用填表資訊。
DBngin 支援多版本 MySQL 但不會自動加 PATH,一行指令把最新版路徑寫進 .bashrc,終端機就能直接使用 mysql 指令。