2020/09/11 追記: 別の方法 に変更しました。
sample
final class XxxxRouterTest extends TestCase { public function RouteActionNameDataProvider() { return [ [ 'get', '/user/1', //テスト対象のURL UserViewController::class, //URLをリクエストした際に、期待されるアクション名 'user.view' //URLをリクエストした際に、期待されるルート名 ], [ 'post', '/user/add', UserAddController::class, 'user.add' ], ]; } /** * @dataProvider RouteActionNameDataProvider * @param $method * @param $url * @param $expectedActionName * @param $expectedRouteName */ public function testRouteActionName( $method, $url, $expectedActionName, $expectedRouteName ) { // 特定のテストでのみミドルウェアを無効化 $this->withoutMiddleware(); switch ($method) { case 'post': $this->post($url); break; case 'get': $this->get($url); break; default: $this->get($url); } $this->assertEquals($expectedRouteName, Route::currentRouteName()); $this->assertEquals($expectedActionName, Route::currentRouteAction()); }