Run PHPUnit Tests Whenever Your Files Change


The immediate key take away from this video is the following script:

#!/bin/sh
dir1="$PWD/src"
dir2="$PWD/tests"

while inotifywait -qre modify "$dir1" "$dir2"; do
    make run_tests
done

Of course this assumes you have a Makefile with a run_tests entry in there. Mine, for example is:

run_tests:
    @docker-compose exec php php vendor/bin/simple-phpunit

Watch the video for a better understanding of this whole process.

A quick note: This method is pretty much no fun for Windows, or Mac users. I believe OSX has a variation of inotify-tools so adapting this method may be possible.

Alternatively, you can use Node / tools like Grunt, or Gulp. For me this is OK if I already have PHP and JS intermixed in the same project. If I have to add JS dependencies solely to run my PHP tests, then I would prefer this option.

Your mileage may vary, and that's a-ok.

Episodes

# Title Duration
1 Simple Backup Shell Script Linux 09:36
2 Run PHPUnit Tests Whenever Your Files Change 09:25
3 Use Your Command Line History Like a Boss 03:17