Download the PHP package codeception/robo-paracept without Composer
On this page you can find all versions of the php package codeception/robo-paracept. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download codeception/robo-paracept
More information about codeception/robo-paracept
Files in codeception/robo-paracept
Package robo-paracept
Short Description Codeception Parallel Execution Tasks via Robo Task Runner
License MIT
Informations about the package robo-paracept
robo-paracept
Robo tasks for Codeception tests parallel execution. Requires Robo Task Runner
Install via Composer
Include into your RoboFile
Idea
Parallel execution of Codeception tests can be implemented in different ways. Depending on a project the actual needs can be different. So we prepared a set of predefined Robo tasks that can be combined and reconfigured to fit your needs.
Tasks
SplitTestsByGroups
Load tests from a folder and distributes them between groups.
This command loads Codeception into memory, loads and parses tests to organize them between group. If you want just split test file and not actual tests (and not load tests into memory) use
taskSplitTestFilesByGroups
:
SplitTestFilesByGroups
To split tests by suites (files) without loading them into memory use taskSplitTestFilesByGroups
method:
SplitTestsByTime
Enable extension for collect execution time of you use taskSplitTestsByTime
Load tests from a folder and distributes them between groups by execution time.
this command need run all tests with Codeception\Task\TimeReporter
for collect execution time. If you want just split tests between group (and not execute its) you can use SplitTestsByGroups. Please be aware: This task will not consider any 'depends' annotation!
SplitFailedTests
Enable extension for collect failed tests if you use taskSplitFailedTests
The extension saves the report files into \Codeception\Configuration::outputDir()
Merge the created report files from the FailedTestsReporter into single file
Load the failed Tests from a reportfile into the groups:
MergeXmlReports
Mergex several XML reports:
MergeHtmlReports
Mergex several HTML reports:
Filters
You can use a custom filter to select the necessary tests.
Two filters already included: DefaultFilter, GroupFilter
- DefaultFilter is enabled by default, takes all tests.
- GroupFilter (Can only be used by taskSplitTestsByGroups), allows you to filter the loaded tests by the given groups. You have the possibility to declare groups which you want to include or exclude. If you declare foo and bar as included, only tests with this both group annotations will be matched. The same thing is happend when you add excluded groups. If you combine the included and excluded group the only tests which have exactly the correct group annotations for the included items and none of the excluded items.
You can add as many filters as you want. The FIFO (First In - First Out) principle applies. The next filter will only get the result of the filter before.
Usage
For example, you want all tests which have in the doc comment the groups 'foo' AND 'bar' but not 'baz' then you can do it like this:
Now create your own filter class:
The TestFileSplitterTask.php pushes an array of SplFileInfo Objects to the filter.
The TestsSplitterTask.php pushes an array of SelfDescribing Objects to the filter.
Configuration
Load Codeception config file to specify the path to Codeception before split* tasks:
Contributing
Thank you for contributing to codeception/robo-paracept!
- Fork this project
- install all deps
- create a branch from master
- make your changes
- extend or create tests for your changes
- run
composer test
(This will execute lint, codestyle and unit tests sequential) - open a Merge Request
Coding Standard
Please note that this project follows the PSR-12 Coding Standard. You can check your coding style with:
Unit Tests
All changes which you will done must pass the unit tests. If you change some logic or you add some new methods please be fair and write a test.
License MIT
All versions of robo-paracept with dependencies
consolidation/robo Version ^4.0
symfony/finder Version ^6.0
ext-dom Version *
ext-libxml Version *
ext-json Version *