php - 将代码覆盖率链接到版本控制

标签 php git testing version-control code-coverage

在我提交更改之前,我想确保所有更改都已通过代码覆盖率报告自动或手动进行测试,但是有很多遗留代码没有自动测试,并且不会受到我的更改的影响。

是否有一种工具可以通过代码覆盖率报告交叉引用来自版本控制工具的差异,并确保所有已更改的内容都已运行?

我意识到通过代码覆盖,这可能会给人一种错误的安全感,而对于类似这样的东西,更是如此,但我认为值得尝试。我使用 git 和 PHP - 我使用 XCache 的代码覆盖器界面来浏览我运行的内容,它很有用,但如果某些东西可以在 git 提交或推送时自动运行,那就太好了。

最佳答案

对于 git 差异,有一个名为 diff-cover 的工具,它可以检查覆盖率。它获取 Cobertura XML 覆盖率报告并与 git diff 的输出进行比较。然后它报告差异中行的覆盖信息。

给定适当的覆盖率 xml 文件,您可以使用此命令来检查与 master 分支相比更改的覆盖率:

$ diff-cover coverage.xml

与 CI 服务器集成也很简单,只要它能为您提供您需要比较的提交,例如 Jenkins 中的 $GIT_PREVIOUS_COMMIT

关于php - 将代码覆盖率链接到版本控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4899881/

相关文章:

git - 在整个 Git 提交历史中重命名目录

git - 我如何通过 merge 压缩分支上的 Git 提交

windows - 实时HTTP流写入控制台

php - 使用 WordPress REST API 通过 AJAX 更改密码

git - git 版本 1.7.1 中 git clone -c 的旧命令是什么

php - 试图理解 PHP 中的 PDO;不断收到空错误

ios - 在 XCUITest 中单击按钮后如何验证和断言动画是否正在播放?

python - Django测试镜像数据库收不到数据

php - Mantis Bug 跟踪器严重性选项自定义

PHP字符串不包含