Automatically run atoum's loop mode on file change
autoloop-extension allows you automatically run your tests in atoum's loop mode when files are changed.
Here is an example: we can see that the test files are automatically executed when the classes and test classes are changed.
Install extension using composer:
composer require --dev atoum/autoloop-extension
Then, the only thing you have to do is to set the watched files like this:
<?php // .atoum.php $runner ->getExtension(atoum\atoum\autoloop\extension::class) ->setWatchedFiles(array(__DIR__ . '/src')) ;
When the extension is loaded a new option is available:
--autoloop: Automatically relaunch tests on file change (implies --loop)
So, instead of launch the loop mode like this (an having to press enter each time you want to run the tests):
Just run the tests like this:
All your usual options are available.
This extension works well with with atoum's notification.
//.atoum.php $report = $script->addDefaultReport(); $notifier = new atoum\report\fields\runner\result\notifier\image\libnotify(); $notifier ->setSuccessImage(__DIR__ . '/vendor/atoum/atoum/resources/images/logo/success.png') ->setFailureImage(__DIR__ . '/vendor/atoum/atoum/resources/images/logo/failure.png') ; $report ->addField($notifier) ;
With a setup like this, you will not even have to look at your console to see your test results. Here is what it looks like:
autoloop-extension is released under the MIT License. See the bundled LICENSE file for details.