测试
概述
简介
本指南中的所有示例均使用 Pest 编写。要使用 Pest 的 Livewire 插件进行测试,你可以按照 Pest 插件文档中的安装说明进行操作:Pest 的 Livewire 插件。你也可以轻松地将其适配到 PHPUnit,主要方法是将 Pest 中的 livewire() 函数替换为 Livewire::test() 方法。
由于所有 Filament 组件都已挂载到 Livewire 组件,因此我们只是在所有组件中使用 Livewire 测试助手。如果你之前从未测试过 Livewire 组件,请阅读 Livewire 文档中的这个指南。
测试向导
想要查看有关如何测试面板资源的完整示例?请查看测试资源文档。
如果你想了解测试表格的不同方法,请查看测试表格文档。
如果你需要测试包含表单和信息列表的架构,请查看测试 Schema文档。
如果你想测试操作(包括存在于表格或架构中的操作),请查看测试操作文档。
如果你想测试已发送的通知,请查看测试通知文档。
如果你想在面板中测试自定义页面,这些是没有特殊行为的 Livewire 组件,因此你应该访问 Livewire 文档的 测试 文档。
使用 Filament 时,Livewire 组件是什么?
测试 Filament 时,了解哪些组件是 Livewire 组件、哪些不是 Livewire 组件非常有用。有了这些信息,你就知道应该将哪些类传递给 Pest 中的 livewire() 函数或 PHPUnit 中的 Livewire::test() 方法。
Livewire 组件的一些示例包括:
- 面板中的页面,包括资源
Pages目录中的页面类 - 资源中的关联管理器
- Widget
非 Livewire 组件的一些示例包括:
- 资源类
- Schema 组件
- Action
这些类都与 Livewire 交互,但它们本身并不是 Livewire 组件。你仍然可以测试它们,例如,通过调用各种方法并使用 Pest 期望 API 来断言预期行为。然而,最有用的测试将涉及 Livewire 组件,因为它们为用户体验提供了最佳的端到端测试覆盖。
Edit on GitHubStill need help? Join our Discord community or open a GitHub discussion