2016-12-21 3 views
1

Laravel 5와 함께 PHPUnit을 사용하여 API 엔드 포인트를 기능적으로 테스트하고 있습니다.PHPUnit Bridge로 DNS를 모방하는 방법?

노트북이 인터넷에 연결되면 내 테스트가 매우 느리다는 것을 알게되었습니다! 그래서이 지연을 일으키는 DNS 조회가 될 수 있다고 생각했습니다.

DNS를 모의하려면 PHPUnit Bridge이 필요하지만 documentaion 부족으로 인해 내 API 서브 도메인 api.insa.dev을 모의하기 위해 매개 변수 inorder를 전달할 항목을 모르겠습니다. 내가 지금까지 내 TestCase 클래스 setUp() 함수가 무엇

는 :

\Symfony\Bridge\PhpUnit\DnsMock::withMockedHosts([ 

    'insa.dev' => [ 
     [ 
      'ip' => '127.0.0.1', 
      // ... ?!?!? 
     ], 
    ], 

]); 

답변

1

나는 우선 당신이 DnsMock 클래스에 register 메소드를 호출 할 필요가,이 작업을 얻을 생각합니다.

다음
\Symfony\Bridge\PhpUnit\DnsMock::register(App\ClassBeingTested::class); 

, 하위 도메인을 조롱하기 위해, 당신은 단지 조롱 호스트에 바로 넣어 :

\Symfony\Bridge\PhpUnit\DnsMock::withMockedHosts([ 
    'api.insa.dev' => [ 
     [ 
      'ip' => '127.0.0.1', 
      // ... ?!?!? 
     ], 
    ], 
]); 
관련 문제