Ai
2 Star 0 Fork 0

mirrors_Krinkle/phpunit-coverage-check

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
coverage-check.php 1.40 KB
一键复制 编辑 原始数据 按行查看 历史
Richard Regeer 提交于 2016-05-10 02:06 +08:00 . Corrected file names and fixed bin script
<?php
// Inspired by: https://ocramius.github.io/blog/automated-code-coverage-check-for-github-pull-requests-with-travis/
if (!isset($argv[1]) || !file_exists($argv[1])) {
echo 'Invalid input file provided' . PHP_EOL;
exit(1);
}
if (!isset($argv[2])) {
echo 'An integer checked percentage must be given as second parameter'. PHP_EOL;
exit(1);
}
$inputFile = $argv[1];
$percentage = min(100, max(0, (int)$argv[2]));
$xml = new SimpleXMLElement(file_get_contents($inputFile));
$metrics = $xml->xpath('//metrics');
$elements = 0;
$coveredElements = 0;
$statements = 0;
$coveredstatements = 0;
$methods = 0;
$coveredmethods = 0;
foreach ($metrics as $metric) {
$elements += (int)$metric['elements'];
$coveredElements += (int)$metric['coveredelements'];
$statements += (int)$metric['statements'];
$coveredstatements += (int)$metric['coveredstatements'];
$methods += (int)$metric['methods'];
$coveredmethods += (int)$metric['coveredmethods'];
}
// See calculation: https://confluence.atlassian.com/pages/viewpage.action?pageId=79986990
$TPC = ($coveredstatements + $coveredmethods + $coveredElements) / ($statements + $methods + $elements) * 100;
if ($TPC < $percentage) {
echo 'Total code coverage is ' . sprintf('%0.2f', $TPC) . '%, which is below the accepted ' . $percentage . '%' . PHP_EOL;
exit(1);
}
echo 'Total code coverage is ' . sprintf('%0.2f', $TPC) . '% - OK!' . PHP_EOL;
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/mirrors_Krinkle/phpunit-coverage-check.git
git@gitee.com:mirrors_Krinkle/phpunit-coverage-check.git
mirrors_Krinkle
phpunit-coverage-check
phpunit-coverage-check
master

搜索帮助