有人能很好地创建带有路由的新请求对象吗?
我正在尝试测试正在制作的中间件,该中间件在请求上使用->route()
方法,因此我可以检查任何绑定的模型。
我能够创建具有URL和参数属性的基本请求对象,但是我不知道如何从route()
方法中获取一个值
这可能吗? (不仅仅是使用get / post进行集成测试)。
我尝试执行以下操作,以确保通过绑定中间件处理路由绑定,但似乎没有附加任何东西。
Route::model('post', Post::class);
$request = new \Illuminate\Http\Request;
$request = $request->createFromBase(Request::create('posts/1', 'GET', ['post' => 1]));
$request->setRouteResolver(function () use ($request) {
return Route::get('posts/{post}', function (Request $request, Post $post) { })->name('post.show')->bind($request);
});
$bindingMiddleware = $this->app->make(SubstituteBindings::class);
$bindingMiddleware->handle($request, function ($request) { return $request; });