droptica / robo-paracept
通过 Robo Task Runner 执行 Codeception 并行任务
0.4.0
2017-10-06 12:17 UTC
Requires
- consolidation/robo: ^1.0.0
Requires (Dev)
- codeception/base: ~2.2
This package is not auto-updated.
Last update: 2024-09-25 04:53:22 UTC
README
为 Codeception 测试的并行执行提供 Robo 任务。需要 Robo Task Runner
由 Droptica 编写
通过 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();