As I move forward in my Laravel project I have several tests for controllers and now I'm facing with this issue.
Some of my tests are failing with this message:
Expected response status code [200] but received 429.
Failed asserting that 200 is identical to 429.
I tried to solve with these methods:
- Add
withoutMiddleware()
toTestCase.php
:
public function setUp(): void
{
parent::setUp();
$this->withoutMiddleware(
ThrottleRequests::class
);
}
- Add
REQUESTS_PER_MINUTE
tophpunit.xml
:
<phpunit>
<php>
...
<server name="REQUESTS_PER_MINUTE" value="500"/>
</php>
</phpunit>
- Change my dockerized nginx config for this:
server {
location ~ \.php$ {
limit_req zone=one burst=5;
}
}
limit_req_zone $binary_remote_addr zone=one:10m rate=100r/s;
Neither solution helped.
I don't want to change the Laravel's throttle settings only because of testing. I think here need to be a valid solution for this without changing the framework's settings.
Any suggestion how can I solve this issue?