akimsir/junit-reports

此包最新版本(dev-master)没有可用的许可信息。

PHPJUnit测试报告的管理器

dev-master 2020-12-07 05:21 UTC

This package is auto-updated.

Last update: 2024-09-07 12:56:14 UTC


README

Php管理JUnit测试报告

有用案例

codeception.dist.yml

groups:
    rerunfailed: Tests/_output/rerunfailed

执行所有测试

# produce all_results.xml
vendor/bin/codecept run

然后仅重新运行失败的测试,并合并所有结果

$manager = new \JunitReports\XmlManager();

// get failed tests
$failedTests = $manager->getFailedTests('all_results.xml', __DIR__ . '/');

// rerun only failed
$rerunFailedFile = 'Tests/_output/rerunfailed';
file_put_contents($rerunFailedFile, implode(PHP_EOL, $failedTests));

仅执行失败的测试

# produce rerunfailed.xml
vendor/bin/codecept run -g rerunfailed

然后合并

$this->parallelRun(['rerunfailed' => []], 'Rerun failed tests');

// merge results with replace 
$manager->mergeWithReplace('all_results.xml', 'rerunfailed.xml');

使用Docker运行

docker pull akimsir/junit-reports

docker run -ti --rm -v /path/to/results.xml:/project/results.xml akimsir/junit-reports "php run.php getFailedTestCasesAsJson /project/results.xml"

结果是有参数的失败测试列表

[
    {
        "file": "/code/Tests/functional/Backend/VerifiedCest.php", 
        "name": "acceptRequest", 
        "class": "Tests\\Functional\\Backend\\VerifiedCest", 
        "feature": "Одобрить заявку для компании", 
        "assertions": 17, 
        "time": 28.493741
    }
]