快速提示:使用 Laravel 的 from() 测试助手

发布时间 作者

Quick Tip: Using the Laravel from() Testing Helper image

使用 Laravel 进行测试时,有时需要测试用户是否被重定向回他们“提交”表单的页面。

通常,如果您只是调用以下代码,测试将失败,因为会话没有设置上一个页面。

$this->post('/some-endpoint')->assertRedirect('/some-endpoint');`,

为了解决这个问题,Laravel 提供了一个 from() 测试助手,它在后台设置了一个 referer 头部,并将 _previous.url 会话变量设置为传入的 url。然后,当您在控制器或其他地方调用 redirect()->back() 时,Laravel 就会知道应该将用户重定向到哪里。

/** @test */
public function the_user_is_redirected_back_to_the_edit_page()
{
$user = User::factory()->create();
$post = Post::factory()->create();
 
$data = ['title' => 'Paul is Eric and Eric is Paul'];
 
$this->actingAs($user)
->from('/posts/1/edit')
->patch('/posts/1', $data)
->assertRedirect('/posts/1/edit');
}
Jason Beggs photo

TALL 技术栈(Tailwind CSS、Alpine.js、Laravel 和 Livewire)顾问,designtotailwind.com 的所有者。

Cube

Laravel 新闻通讯

加入 40,000 多名其他开发者,不要错过新的提示、教程等等。

Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Tinkerwell logo

Tinkerwell

Laravel 开发人员必备的代码运行器。使用 AI、自动完成和即时反馈来调试本地和生产环境。

Tinkerwell
No Compromises logo

无妥协

Joel 和 Aaron,两位来自“无妥协”播客的资深开发者,现在可以为您的 Laravel 项目提供服务。 ⬧ 固定费率 7500 美元/月。 ⬧ 没有冗长的销售流程。 ⬧ 没有合同。 ⬧ 100% 退款保证。

无妥协
Kirschbaum logo

Kirschbaum

提供创新和稳定性,确保您的 Web 应用程序取得成功。

Kirschbaum
Shift logo

Shift

运行旧版 Laravel 版本?即时、自动的 Laravel 升级和代码现代化,让您的应用程序保持新鲜。

Shift
Bacancy logo

Bacancy

让您的项目焕发活力,仅需 2500 美元/月,即可聘用一位拥有 4-6 年经验的资深 Laravel 开发人员。获得 160 小时的专业服务和 15 天的无风险试用。立即安排电话会议!

Bacancy
Lucky Media logo

Lucky Media

立即获得好运 - 拥有超过 10 年经验的 Laravel 开发的理想选择!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar:Laravel 电子商务

Laravel 电子商务。一个开源软件包,将现代无头电子商务功能的强大功能带到 Laravel。

Lunar:Laravel 电子商务
LaraJobs logo

LaraJobs

官方 Laravel 工作板

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit:Laravel SaaS 启动工具包

SaaSykit 是一个 Laravel SaaS 启动工具包,包含运行现代 SaaS 所需的所有功能。支付、精美结账、管理面板、用户仪表板、身份验证、准备好的组件、统计信息、博客、文档等等。

SaaSykit:Laravel SaaS 启动工具包
Rector logo

Rector

您无缝升级 Laravel、降低成本和加速创新,以帮助企业取得成功的合作伙伴

Rector
MongoDB logo

MongoDB

通过 MongoDB 和 Laravel 的强大集成来增强您的 PHP 应用程序,使开发人员能够轻松高效地构建应用程序。支持事务性、搜索、分析和移动用例,同时使用熟悉的 Eloquent API。了解 MongoDB 的灵活、现代数据库如何改变您的 Laravel 应用程序。

MongoDB
Maska is a Simple Zero-dependency Input Mask Library image

Maska 是一个简单的无依赖项输入掩码库

阅读文章
Add Swagger UI to Your Laravel Application image

将 Swagger UI 添加到您的 Laravel 应用程序

阅读文章
Assert the Exact JSON Structure of a Response in Laravel 11.19 image

在 Laravel 11.19 中断言响应的精确 JSON 结构

阅读文章
Build SSH Apps with PHP and Laravel Prompts image

使用 PHP 和 Laravel 提示构建 SSH 应用程序

阅读文章
Building fast, fuzzy site search with Laravel and Typesense image

使用 Laravel 和 Typesense 构建快速、模糊的站点搜索

阅读文章
Add Comments to your Laravel Application with the Commenter Package image

使用 Commenter 软件包在您的 Laravel 应用程序中添加评论

阅读文章