Automatically run unit tests when a project file is saved.
- PHP >= 7
- PHPUnit >= 6 or Pest > 2
- entr >= 3.4
- Install entr
sudo apt-get install entr- Require it with Composer:
composer global require stekel/autotestThe autotest executable should now be located in the ~/.composer/vendor/bin/ directory.
- Add this directory to your PATH in your ~/.bash_profile or ~/.bashrc
export PATH=~/.composer/vendor/bin:$PATHRun the following command from the root of a Laravel application
php artisan stekel:autotestNote: this will use the local phpunit ./vendor/bin/phpunit
Run the following command from the root of a composer project with phpunit
autotestNote: this will use the global phpunit ~/.composer/vendor/bin/phpunit
Your tests should run one time, after that autotest will run your tests every time a file within your project is saved. No more switching between your editor and a terminal.
-f Filter: passed to phpunit as the --filter parameter
-g Group: passed to phpunit as the --group parameter
-d Directory: passed to phpunit as the directory argument, prepends './tests/'
--coverage Code Coverage: pending phpunit is configured to output code coverage reports, removes the --no-coverage flag
--localphpunit Force Local phpunit: forces the use of ./vendor/bin/phpunit as the phpunit location
--globalphpunit Force Global phpunit: forces the use of ~/.composer/vendor/bin/phpunit as the phpunit location