holyshared/coverallskit

此包已被废弃,不再维护。作者建议使用 cloak/coverallskit 包。

coveralls.io 的 PHP 客户端

2.3.3 2016-04-17 08:54 UTC

README

Build Status Circle CI Build Status

Stories in Ready Scrutinizer Code Quality Coverage Status Dependency Status

Latest Stable Version License

CoverallsKit 是将代码覆盖率报告发送到 coveralls 的库。
此库与 PHP5.5 或更高版本兼容。

要求

  • PHP >= 5.5
  • Xdebug >= 2.2.2

安装

使用 composer 的安装方式。

  1. 安装 composer

  2. 安装包。

     composer require cloak/coverallskit --dev
    

基本使用

您可以使用 coverallskit/CoverallsReportBuilder 生成一个 json 文件。
您只需设置已执行行的代码覆盖率。
通过使用 HHVMxdebug 可以轻松获取代码覆盖率。

$travis = new TravisCI( new Environment($_SERVER) );
$service = new CIService($travis);

$builder = new CoverallsReportBuilder();
$builder->token('your repository token')
	->service($service)
	->repository(new GitRepository(__DIR__ . '/../'));

$source = new SourceFile('path/to/file');
$source->addCoverage(CoverageResult::executed(1));	//The first line was executed
$source->addCoverage(CoverageResult::unused(2));	//The second line is not executed
$source->addCoverage(CoverageResult::executed(3));	//The third line is executed

$builder->addSource($source);
$builder->build()->saveAs(__DIR__ . '/tmp/coverage.json');

使用配置文件

如果您使用配置文件,则可以更轻松地发送报告。

use coverallskit\BuilderConfiguration;
use coverallskit\CoverallsReportBuilder;

$configuration = BuilderConfiguration::loadFromFile('coveralls.toml');
$builder = CoverallsReportBuilder::fromConfiguration($configuration);
$builder->build()->save()->upload();

配置文件格式

您还可以使用配置文件。
文件格式是 toml 格式

token = "{api-token}"
service = "travis-ci"
repositoryDirectory = "."

[reportFile]
output = "script/coveralls.json"

[reportFile.input]
type = "lcov"
file = "script/report.lcov"

文件格式

名称 必填 默认 描述
token 可选 COVERALLS_REPO_TOKEN coveralls.io 的 API 令牌。如果您未指定,则使用环境变量 COVERALLS_REPO_TOKEN
service 可选 travis-ci CI(持续集成)服务名称。您可以使用 travis-citravis-procircle-cidrone.iocodeship
reportFile 可选 请参阅 reportFile 部分
repositoryDirectory 可选 . git 仓库的目录路径。将指定从包含配置文件的目录开始的相对路径。

reportFile

imput
名称 必填 默认 描述
type 可选 将在代码覆盖率报告中指定文件类型。您可以是 lcovclover
file 可选 coveralls.json 将指定一个代码覆盖率报告文件。
output

将指定要发送到 coveralls.io 的 json 文件名。
将指定从包含配置文件的目录开始的相对路径。

为 Robo 定制的任务

支持 robo 任务,因此您可以轻松发送报告。
有关更多信息,请参阅 robo-coveralls-kit

详细文档

仅运行单元测试

composer test

如何运行示例

vendor/bin/robo example:basic