用 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 指令。
直接把 Generator 傳給 LazyCollection 會被 iterator_to_array 一次全部展開,失去延遲載入效果,必須用 Closure 包一層才能正確運作。
GuzzleHttp Response 用 (string) 轉換每次都自動 seek(0),但 getContents() 不會重置指標,第二次呼叫只拿到空字串,需手動 rewind。
樹莓派沒有桌面環境時,用 bluetoothctl 的 scan、pair、trust、connect 指令完成藍芽配對,加上 trust 指令讓下次開機自動重新連線。
升級 Redis 到 6.0 後出現 Connection refused,原因是 bind 和 protected-mode 預設值變更,修改 redis.conf 這兩個設定即可恢復連線。