什么是 Orchestra Testbench
Orchestra Testbench 是面向包开发的 Laravel 测试辅助工具。继承Orchestra\Testbench\TestCase 后,即便是包本身,也可以像在 Laravel 应用内那样进行测试。
Laravel 官方文档的包开发也建议使用 Testbench 来测试包。
搭建
基本测试的写法
首先确认 Service Provider 是否被加载、Facade 是否按预期工作、配置是否生效。文件系统与数据库的测试
对使用数据库的测试,在defineEnvironment() 中配置 SQLite 内存数据库,并加载被测试的迁移。
在多个 Laravel 版本上测试
Testbench 的主版本与 Laravel 主版本对应。详情请参见官方 Version Compatibility。| Laravel | Testbench |
|---|---|
| 12.x | 10.x |
| 13.x | 11.x |
小结
有了 Testbench,你无需手工准备 Laravel 应用,也能在接近生产的形态下验证包的行为。将 Service Provider 注册、配置、Facade、数据库都纳入测试对象,能显著减少发布后的问题。相关页面
Laravel 包开发
了解以 Service Provider 为核心的包实现基础。
包的版本兼容性管理
了解 Laravel 与 Testbench 的版本策略以及 CI 矩阵运营。