Skip to content
全部文档

概览 ​

简介 ​

本指南中的示例均使用 Pest 编写。若要使用 Pest 的 Livewire 插件进行测试,可参阅 Pest 文档中的插件安装说明:Livewire plugin for Pest。你也可以轻松改用 PHPUnit,主要是把 Pest 的 livewire() 函数换成 Livewire::test() 方法。

由于所有 Filament 组件都挂载在 Livewire 组件上,我们全程使用 Livewire 测试辅助方法。若你从未测试过 Livewire 组件,请先阅读 Livewire 文档中的本指南。

测试指南 ​

想看如何完整测试面板资源?请参阅 测试资源 一节。

若要了解测试表格可用的各种方法,请参阅 测试表格 一节。

若要测试 schema(涵盖表单与 infolist),请参阅 测试 Schema 一节。

若要测试 action(包括表格或 schema 中的 action),请参阅 测试 Action 一节。

若要测试已发送的通知,请参阅 测试通知 一节。

若要测试面板中的自定义页面,它们就是没有特殊行为的 Livewire 组件,请参阅 Livewire 文档的 testing 一节。

在 Filament 中,什么是 Livewire 组件? ​

测试 Filament 时,弄清哪些是 Livewire 组件、哪些不是很有帮助。据此你就知道该把哪些类传给 Pest 的 livewire() 或 PHPUnit 的 Livewire::test()。

Livewire 组件的示例包括:

  • 面板中的页面,包括资源 `Pages` 目录下的页面类
  • 资源中的 relation manager
  • 小部件(Widgets)

不属于 Livewire 组件的类示例包括:

  • 资源类
  • Schema 组件
  • Action

这些类都会与 Livewire 交互,但本身不是 Livewire 组件。你仍可测试它们,例如调用各种方法,并用 Pest expectation API 断言预期行为。不过最有用的测试通常会涉及 Livewire 组件,因为它们能最好地端到端覆盖用户体验。