我需要在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
上断言该条件。