11. 代码覆盖率分析

最后更新于:2022-04-01 03:46:10

# 第 11 章 代码覆盖率分析 > 计算机科学中所说的代码覆盖率是一种用于衡量特定测试套件对程序源代码测试程度的指标。拥有高代码覆盖率的程序相较于低代码低概率的程序而言测试的更加彻底、包含软件 bug 的可能性更低。 > --Wikipedia 在本章中,你将学到 PHPUnit 中与代码覆盖率相关的一切功能。通过这部分功能,能够了解在测试运行过程中执行了生产代码的哪些部分。它使用了 [PHP_CodeCoverage](https://github.com/sebastianbergmann/php-code-coverage) 组件,而这个组件又使用了 PHP 的 [Xdebug](http://xdebug.org/) 扩展所提供的代码覆盖率功能。 >[info] ### Note > Xdebug 不随 PHPUnit 分发。如果在运行测试时收到了 Xdebug 扩展未加载的提示,就意味着 Xdebug 未安装或者未正确配置。在使用 PHPUnit 的代码覆盖率分析功能之前,需要阅读下 [Xdebug 安装指南](http://xdebug.org/docs/install)。 PHPUnit 可以生成基于 HTML 的代码覆盖率报告,同时也能生成好几种(Clover、Crap4J、PHPUnit)基于XML的代码覆盖率信息记录文件。代码覆盖率信息也能以文本格式提供(同时可以输出到STDOUT)或以PHP代码格式输出以供进一步处理。 [Chapter 3, *命令行测试执行器*](# "Chapter 3. 命令行测试执行器")中列出了各种控制代码覆盖率功能的命令行参数供参考,同时[the section called “Logging (日志记录)”](# "Logging (日志记录)")中可以找到其他相关的配置信息。
';