Speed up Laravel test

In Memory 最近在進行一個既有專案的開發,為了能夠在上面做單元測試,著手進行準備工作。首先嘗試用 SQlite InMemory 的方式。然後在 TestCase 繼承了 RefreshDatabase 處理資料庫的初始化。 namespace Tests;

Test non-existent SQL functions

Laravel 測試預設配置 SQLite 做為資料庫,並使用 In memory 的方式執行測試。但產品資料庫會使用的 SQL Function 不一定能在 SQLite 上使用,目前在嘗試幾個做法來解決測試無法通過特定資

Laravel dynamic facade

Laravel 在 Facade 的使用很普遍,內建就提供了多種 Facade。並且在過去的使用情境也透過繼承 Illuminate\Support\Facades\Facade 建立自己的 Facade。唯獨 Dynamic Facade 我今天才發現它的好用! 使用

After extends the eslint rules

最早接觸到 TypeScript 開發是透過 VSCode 的 Your First Extension 範例。教學透過 Yeoman 使用 VS Code Extension Generator 產生。預設已經自帶 ESlint 檢查。所以也沒特別在意就直接開發。在近期我回頭檢視相關的規則

Lint only diff files

過去我們會在提交的時候運行代碼風格檢查,但隨著檔案越來越多,檢查的時間也越來越長。但其實每次提交改動的檔案數量不多,所以可以根據改動的檔案做