Continuous Testing Dashboard for Laravel


October 26th, 2017


Tests Watcher is a continuous testing dashboard made with Laravel by Antonio Carlos Ribeiro. According to the author, think of it as “Laravel Horizon for all of your tests.” It supports PHPUnit, Laravel Dusk, PhpSpec, Behat, Atoum, and any test framework executed in the terminal. This project isn’t only for PHP, you could integrate this dashboard with Jest or Rake tests, for example.

If you want to try it out with Laravel Valet, here’s a quick start example:

1laravel new ci
2cd ci
3composer require pragmarx/ci
4php artisan vendor:publish --provider="PragmaRX\TestsWatcher\Package\ServiceProvider"
5valet link ci
7# configure database on your .env
8php artisan migrate
9php artisan ci:watch & php artisan ci:work &

There are two commands responsible for updating the CI dashboard: Watcher and Tester.

The Watcher watches for test changes. If a file in your project changes, the whole test suite will run. If you change a test file, only that specific test will run.

The Tester takes the tests from the run queue, executes the tests, and logs the results.

At the time of writing, this package is known to work with the following out-of-the-box:

  • Codeception
  • PHPUnit
  • phpspec
  • behat
  • atoum
  • Nette Tester

Check out the official repo for more information on Tests Watcher and give it a try with a Laravel project.

Filed in:

Paul Redmond

Full stack web developer. Author of Lumen Programming Guide and Docker for PHP Developers.

Laravel News Partners