morcano/robo-paracept

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

0.4.3 2020-09-13 09:56 UTC

This package is auto-updated.

Last update: 2024-09-13 20:04:56 UTC


README

Build Status Latest Stable Version Total Downloads License

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