我将 PHPUnit 与 Laravel 5 结合使用来对我的 API 端点进行功能测试。
我注意到当我的笔记本电脑连接到互联网时我的测试速度非常慢!所以我认为可能是 DNS 查找导致了这种延迟。
我需要 PHPUnit Bridge模拟 DNS,但由于缺少文档,我不知道要传递什么参数才能模拟我的 API 的子域 api.insa.dev
。
这就是我目前在 TestCase
类 setUp()
函数中的内容:
\Symfony\Bridge\PhpUnit\DnsMock::withMockedHosts([
'insa.dev' => [
[
'ip' => '127.0.0.1',
// ... ?!?!?
],
],
]);
最佳答案
我认为要让它工作,首先你需要在 DnsMock 类上调用 register
方法。
\Symfony\Bridge\PhpUnit\DnsMock::register(App\ClassBeingTested::class);
然后,要模拟子域,只需将其直接放在模拟主机中即可:
\Symfony\Bridge\PhpUnit\DnsMock::withMockedHosts([
'api.insa.dev' => [
[
'ip' => '127.0.0.1',
// ... ?!?!?
],
],
]);
关于php - 如何使用 PHPUnit Bridge 模拟 DNS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41271407/