【发布时间】:2018-10-19 01:14:19
【问题描述】:
类型提示的路由参数在从测试中调用时不会实例化。
我有一个 Laravel API 资源Route::apiResource('users', 'Api\UserController');
这是我在控制器中的更新方法:
public function update(UpdateUserRequest $request, User $user)
{
//
}
UpdateUserRequest 内部:
public function rules()
{
dd($this->route("user"));
}
如果我从 Postman 调用此端点,我会返回完整的 user 对象。但是,如果我从测试中调用它:
$response = $this->actingAs($this->user)->
json('POST', '/api/users/'.$this->user->id, [
'_method' => 'PUT',
'data' => [
// ...
]
]);
我只得到字符串“1”,而不是实例化的用户对象。
【问题讨论】:
标签: laravel dependency-injection phpunit laravel-5.2 inversion-of-control