getMockBuilder(Config::class)->getMock(); /** @var Request|MockObject $request */ $request = $this->getMockBuilder(Request::class)->getMock(); $app = $this->getApp(['call', 'get', 'instance']); $this->setExpects($app, 'call', [[Request::class, 'createFromGlobals']], $request); $this->setExpects($app, 'get', ['config'], $config); $this->setExpects($config, 'get', ['trusted_proxies'], $configuredProxies); $app->expects($this->exactly(3)) ->method('instance') ->withConsecutive( [Request::class, $request], [SymfonyRequest::class, $request], ['request', $request] ); /** @var ServiceProvider|MockObject $serviceProvider */ $serviceProvider = $this->getMockBuilder(RequestServiceProvider::class) ->setConstructorArgs([$app]) ->onlyMethods(['setTrustedProxies']) ->getMock(); $serviceProvider->expects($this->once()) ->method('setTrustedProxies') ->with($request, $trustedProxies); $serviceProvider->register(); } }