2017-02-05 14 views
0

Я только начинаю с Guzzle для приемочного тестирования API с использованием PHPUnit. API находится на моей локальной машине, но время ответа для Guzzle составляет ~ 5 секунд! Когда я пользуюсь браузером, он мгновенно загружает веб-сайт, что заставляет меня думать, что это проблема либо с Guzzle, либо с cURL.Guzzle очень медленный доступ к локальной странице

Вот мой тестовый блок:

class MyTest extends \PHPUnit_Framework_TestCase { 

    /** @var GuzzleHttp\Client */ 
    private $http; 

    protected function setUp() { 
     $this->http = new GuzzleHttp\Client(['base_uri' => 'http://test-site.local']); 
    } 

    protected function tearDown() { 
     $this->http = null; 
    } 

    public function testGet() { 
     $response = $this->http->request('GET', 'users'); 

     $this->assertEquals(200, $response->getStatusCode()); 

     $contentType = $response->getHeaders()["Content-Type"][0]; 
     $this->assertStringStartsWith("application/json", $contentType); 
    } 
} 

Что может вызвать длительное время отклика?

ответ

0

Похоже, проблема связана с использованием .local в качестве домена верхнего уровня для моего локального тестового URL. По-видимому, .local используется службами Bonjour на Mac OSx, что вызывает помехи cURL (но не с браузерами, как ни странно). Существует аналогичный question on the Superuser StackExchange.

решаемые путем редактирования мою конфигурацию hosts файлов и виртуальных хостов использовать .dev вместо .local:

protected function setUp() { 
    $this->http = new GuzzleHttp\Client(['base_uri' => 'http://test-site.dev']); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^