Skip to main content

什麼是 Orchestra Testbench

Orchestra Testbench 是為套件開發準備的 Laravel 測試 helper。繼承 Orchestra\Testbench\TestCase 後,即便單獨的套件也能以彷彿身處 Laravel 應用程式的方式進行測試。 Laravel 官方文件套件開發中也指引套件測試使用 Testbench。

設定

1

安裝 Testbench

2

建立基底 TestCase

3

需要時新增設定或 alias

getPackageAliases() 可與 config/app.phpaliases 相同方式,註冊測試中使用的 Facade alias。

基本的測試撰寫方式

先確認服務提供者是否已載入、Facade 是否如預期運作、設定是否已生效。

檔案系統與資料庫的測試

在使用 DB 的測試中,於 defineEnvironment() 設定 SQLite 記憶體資料庫,並載入測試對象的 migration。

於多個 Laravel 版本測試

Testbench 的主版本對應 Laravel 的主版本。詳情請確認官方的 Version Compatibility 若要持續驗證多個版本,可與 GitHub Actions 的 matrix 組合。設計思路請參考套件的版本相容性管理

總結

使用 Testbench 即便未手動準備 Laravel 應用程式,也能以近似正式運行的形式驗證套件行為。將服務提供者註冊、設定、Facade、DB 都納入測試對象,可大幅減少發布後的問題。

相關頁面

Laravel 套件開發

確認以服務提供者為中心的套件實作基礎。

套件的版本相容性管理

確認 Laravel 與 Testbench 的版本策略與 CI matrix 運行方式。
最後修改於 2026年8月2日