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

rjm*_*nro 8 php git testing version-control code-coverage

在我提交更改之前,我想确保所有这些都已经过自动或手动测试,但是有很多遗留代码没有自动化测试,也不会受我的改变影响.

是否有一个工具可以使用代码覆盖率报告交叉引用版本控制工具中的差异,并确保已经运行了所有已更改的内容?

我意识到,通过代码覆盖,这可能会给人一种虚假的安全感,而且就这样,甚至更多,但我认为值得尝试.我使用git和PHP - 我使用了XCache的代码coverager接口来浏览我运行的内容,它很有用,但如果某些内容可以在git commit或push time自动运行,那就太好了.

Dag*_*ahl 3

对于git diffs,有一个名为diff-cover 的工具,可以检查覆盖率。它采用 Cobertura XML 覆盖率报告并与git diff. 然后它报告差异中各行的覆盖信息。

给定正确的覆盖 xml 文件,您可以使用此命令来检查与分支相比的更改的覆盖范围master

$ diff-cover coverage.xml
Run Code Online (Sandbox Code Playgroud)

与 CI 服务器集成也非常简单,只要它可以为您提供需要比较的提交,就像$GIT_PREVIOUS_COMMIT在 Jenkins 中一样。