为什么PHPUnit中的Symfony URL生成器指向localhost?

我在PHP 5.6中使用Symfony 3,我已经用PHPUnit设置了一个unit testing,它向控制器发出一个请求:

$this->client->request('GET', '/api'); 

URL /api的控制器同时向本地Web服务器发出多个Curl请求。 像这样的东西:

 do_http_requests([ $this->get('router')->generate( 'route', $params, UrlGeneratorInterface::ABSOLUTE ), ... ]); 

这是因为生成的URL指向localhosthttp://localhost/... )而不是webhttp://web/... ),这是我为本地web服务器设置的主机名。 我得到一个错误说, Connection refused ,因为没有监听主机localhost 。 服务器在主机web上运行。

我还设置了一个环境variables:

 SYMFONY__ROUTER__REQUEST_CONTEXT__HOST=web 

我希望router服务能够获取该环境variables,并据此生成URL,如本指南中所述 。 但事实并非如此。

我误解或错过了什么?

我将不胜感激任何帮助,您可以提供。 谢谢 !

我应该在testing中使用这个:

 $this->client->request('GET', '/api', [], [], ['HTTP_Host' => 'web']