As paratest uses PHPUnit, most of the plugin is the same as the existing php_unit plugin and it extends the PhpUnit class.
A consequence of the parallel processing with paratest is that TAP results are not supported, as with the php_unit plugin. However, JUnit logging is supported and I have added parsing of it after execution to display detailed results.
This is a working first version, but will need some work to make dynamically configurable.
As is, it requires the presence of vendor/bin/paratest, the JUnit log file to be written to junit.log, the phpunit config file to be phpunit-parallel.xml and sets the number of processes to 4
Contribution Type: new plugin Link to Intent to Implement: https://github.com/Block8/PHPCI/issues/1248
This pull request affects the following areas:
In raising this pull request, I confirm the following (please check boxes):
Detailed description of change:
Plugin for paratest https://packagist.org/packages/brianium/paratest. Paratest runs PHPUnit tests in parallel, speeding up build times.
As paratest uses PHPUnit, most of the plugin is the same as the existing
php_unit
plugin and it extends the PhpUnit class.A consequence of the parallel processing with paratest is that
TAP
results are not supported, as with the php_unit plugin. However,JUnit
logging is supported and I have added parsing of it after execution to display detailed results.This is a working first version, but will need some work to make dynamically configurable.
As is, it requires the presence of
vendor/bin/paratest
, the JUnit log file to be written tojunit.log
, the phpunit config file to bephpunit-parallel.xml
and sets the number of processes to4