首页 > 解决方案 > 如何在 laravel 中测试 back() 方法

问题描述

我想在 laravel 中测试 back() 函数,但我不知道该怎么做。

例如

 public function destroy($id)
{
    $query = Query::findorfail($id);
    $query->delete();

    return back()->with('success','Query deleted successfully');
}

在上述方法中,url 被重定向回来。但是我可以创建一个测试以便我可以断言 back()

标签: laraveltesting

解决方案


我已经检查了TestResponse 类。还没有提供像 assertRedirectBack 这样的功能。

我认为 assertRedirect 会起作用:

$response = $this->delete(...);


$response->assertRedirect($uri);

以前的 url 可以存储在 session. 我不确定。所以请试试这个:

$response->assertRedirect(session()->previousUrl());

推荐阅读