This library is a PHPUnit plugin
that detects memory leaks in tested code or tests.
It utilizes memory_get_usage()
to make sure the code being executed properly cleans up after itself.
composer require --dev roave/no-leaks
vendor/bin/roave-no-leaks
If any memory leaks are detected, you should see an output like following:
Exception: The following test produced memory leaks:
* My\Leaky\Test::testSomething
* My\Leaky\Test::testSomethingElse
vendor/bin/roave-no-leaks
supports all
configuration parameters and console parameters of PHPUnit.
Please be aware that this is not a full substitute for PHPUnit:
- the output format is to be improved
- memory leak detection for scalar types and arrays is not reliable
- can fail depending on xdebug/phpdbg/php-sapi changes
If you need help with setting up this library in your project, you can contact us at team@roave.com for consulting/support.