droptica/robo-paracept

通过 Robo Task Runner 执行 Codeception 并行任务

0.4.0 2017-10-06 12:17 UTC

This package is not auto-updated.

Last update: 2024-09-25 04:53:22 UTC


README

Build Status Latest Stable Version Total Downloads License

为 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();