morcano /robo-paracept
使用Robo Task Runner并行执行Codeception任务
0.4.3
2020-09-13 09:56 UTC
Requires
- php: ^7.2
- consolidation/robo: ^2.1
Requires (Dev)
- codeception/base: ^2.2
- codeception/codeception: ^4.1
README
为Codeception测试并行执行提供Robo任务。需要Robo Task Runner
通过Composer安装
"codeception/robo-paracept":"~0.4"
包含到您的RoboFile中
<?php require_once 'vendor/autoload.php'; require_once 'vendor/codeception/codeception/autoload.php'; class RoboFile extends \Robo\Tasks { use \Codeception\Task\MergeReports; use \Codeception\Task\SplitTestsByGroups; } ?>
PHPUnit 6 兼容性
将 'vendor/codeception/codeception/autoload.php'
添加到启用PHPUnit 6类名
require_once 'vendor/codeception/codeception/autoload.php';
想法
Codeception测试的并行执行可以以不同的方式实现。根据项目需求,实际需要可能不同。因此,我们将准备一组预定义的任务,这些任务可以组合和重新配置以适应需求。
任务
SplitTestsByGroups
从文件夹加载测试并将它们分配到组中。
$this->taskSplitTestsByGroups(5) ->testsFrom('tests/acceptance') ->projectRoot('.') ->groupsTo('tests/_data/group_') ->run();
此命令使用Codeception\Test\Loader
加载测试并在组之间组织它们。如果您只想分割测试文件而不是实际测试(并且不将测试加载到内存中),可以使用
$this->taskSplitTestFilesByGroups(5) ->testsFrom('tests') ->groupsTo('tests/_data/paratest_') ->run();
MergeXmlReports
合并多个XML报告
$this->taskMergeXmlReports() ->from('tests/result/result1.xml') ->from('tests/result/result2.xml') ->into('tests/result/merged.xml') ->run();
MergeHtmlReports
合并多个HTML报告
$this->taskMergeHtmlReports() ->from('tests/result/result1.html') ->from('tests/result/result2.html') ->into('tests/result/merged.html') ->run();