2016-12-21 10 views
1

私はAPIエンドポイントを機能的にテストするためにLaravel 5でPHPUnitを使用しています。PHPUnit BridgeでDNSをモックする方法は?

ラップトップがインターネットに接続しているときにテストが非常に遅いことに気付きました!だから私はそれがこの遅延を引き起こすDNSルックアップかもしれないと思った。

私はDNSを模擬するのにPHPUnit Bridgeが必要でしたが、文書の欠如のために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', 
      // ... ?!?!? 
     ], 
    ], 
]); 
関連する問題