'2.0', 'info' => ['title' => 'Ref Test'], 'paths' => [ '/api/{version}/product' => [ 'get' => [ 'parameters' => [ [ '$ref' => '#/parameters/versionParam', ], [ 'name' => 'version', 'in' => 'path', 'required' => true, 'type' => 'string', 'pattern' => 'v\\d+', ], ], ], ], ], 'parameters' => [ 'versionParam' => [ 'name' => 'version', 'in' => 'path', 'required' => true, 'type' => 'string', ], ], ]; $api = new Swagger($apiDef); $this->describer->describe($api); $describedData = $api->toArray(); // only one parameter should remain as they were duplicates $this->assertCount(1, $describedData['paths']['/api/{version}/product']['get']['parameters']); } protected function setUp() { $this->describer = new ParameterRefMergeDescriber(); } }