控制器代码:
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对象。有什么想法吗?
答案 0 :(得分:0)
尝试替换
$this->assertRedirectedToRoute('admin.patient.edit', [$this->patient->id]);
带
$this->assertRedirectedToAction('MyController@myMethod');
您已经在路线admin.patient.edit
一个路由应该是edit
方法的GET请求,另一个应该是post
方法的update()
请求。您正在重定向到相同的路线(即GET路线)。 admin.patient.update
将是该路线的更好名称
答案 1 :(得分:0)