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 组件,因为它们能最好地端到端覆盖用户体验。