首先安装PHPUnit及相关覆盖率工具,配置phpunit.xml生成Clover报告,再通过.coveralls.yml或Codecov Bash上传器在CI中自动提交覆盖率数据至Coveralls或Codecov服务。

在开发PHP包时,代码覆盖率是衡量测试完整性的重要指标。通过将Codecov或Coveralls集成到Composer工作流中,你可以自动上传测试覆盖率数据,提升项目的可维护性和可信度。下面是如何为你的Composer包配置这一流程。
要生成和上传覆盖率报告,你需要先安装PHPUnit以及对应的工具来处理覆盖率数据。
运行以下命令添加所需依赖:
在项目根目录的phpunit.xml或phpunit.xml.dist中启用覆盖率输出。
示例配置:
<phpunit>
<coverage processUncoveredFiles="true">
<include>
<directory suffix=".php">src/</directory>
</include>
<report>
<clover output="build/logs/clover.xml"/>
</report>
</coverage>
</phpunit>这会生成Clover格式的覆盖率文件,被Coveralls和Codecov共同支持。
安装完php-coveralls后,在项目根目录创建.coveralls.yml:
service_name: github-actions src_dir: src coverage_clover: build/logs/clover.xml
然后在CI流程(如GitHub Actions)中添加步骤:
确保已设置COVERALLS_REPO_TOKEN环境变量(私有仓库需要)。
Codecov更简单,不需要PHP库。只需上传由PHPUnit生成的Clover文件即可。
在CI中执行:
它会自动查找build/logs/clover.xml并上传。你也可以通过codecov.yml进一步配置行为。
基本上就这些。只要CI每次运行测试时生成覆盖率报告,并通过脚本上传,你的README就可以加上漂亮的Badge展示当前覆盖率状态了。不复杂但容易忽略细节,比如路径配置或CI权限问题,注意检查日志输出即可。
以上就是如何为你的Composer包配置代码覆盖率报告_集成Codecov或Coveralls到Composer工作流的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号