声明Illuminate \ Http \ Response Object(...)是类“Illuminate \ Http \ RedirectResponse”

时间:2016-09-28 11:45:30

标签: php laravel-5 phpunit

控制器代码:

return redirect()->route('admin.patient.edit', $patientId);

测试代码:

$this->visit(route('admin.patient.edit', $this->patient->id))
     ->press('Update');

$this->assertRedirectedToRoute('admin.patient.edit', [$this->patient->id]);

我得到的错误是:

Failed asserting that Illuminate\Http\Response Object (...) is an instance of class 
"Illuminate\Http\RedirectResponse".

我已经打印出来自测试内部和控制器内部的响应,它实际上是一个 RedirectReponse 对象。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

作为此处列出的水银系列https://stackoverflow.com/a/38341866/3005056,访问方法可能不是您正在寻找的方法,因为它遵循重定向。

“一种简单的方法是使用get方法而不是访问。

一个例子:

$this->get('/facebook')
     ->assertRedirectedTo('https://www.facebook.com/Les-Teachers-du-NET-516952535045054');"