如何将IP设置为在Laravel中请求对象进行测试



我需要在Laravel请求上设置IP地址进行测试。

我不想模拟请求。

请帮助。

这就是我在控制器中获得IP的方式

$request = app(IlluminateHttpRequest);
$ip      = $request->ip();
$request->server->add(['REMOTE_ADDR' => '0.0.0.0']);

当在Phpunit测试类中时,我能够覆盖用户IP来测试Laravel,例如:

public function testPathWithInternalIp() {
    $this->serverVariables = ['REMOTE_ADDR' => '192.168.1.1'];
    $response = $this->get('/some-path');
}

'/some-path'将访问192.168.1.1的用户,因此,如果您的行为不同,则可以在$response上断言该条件。

相关内容

  • 没有找到相关文章

最新更新