bitween-software/robo-paracept

使用 Robo Task Runner 并行执行 Codeception 任务

0.5.0 2021-04-19 08:46 UTC

This package is auto-updated.

Last update: 2024-09-19 16:37:38 UTC


README

Build Status Latest Stable Version Total Downloads License

Robo 任务用于 Codeception 测试并行执行。需要 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();