akimsir / junit-reports
此包最新版本(dev-master)没有可用的许可信息。
PHPJUnit测试报告的管理器
dev-master
2020-12-07 05:21 UTC
Requires
- php: ^7.1
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^6.2
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
}
]