↑↓ 选择 ↵ 打开 ⌫ 改范围 完整检索页

pgsql.cc 提供对 postgresql.org 官网内容的中文翻译,由 Pigsty 团队维护。

受支持版本: 当前版本 (18) / 17 / 16 / 15 / 14
测试与开发版本: 19 / devel
不受支持的版本: 13 / 12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3 / 9.2 / 9.1 / 9.0 / 8.4
历史版本PostgreSQL 11 已于 2023 年 11 月结束社区维护,本页译文保留供仍在使用旧版本的读者参考。新系统请看当前版本。

33.5. 测试覆盖率检查 #

可以在编译 PostgreSQL 源代码时加入覆盖率测试插桩,从而检查回归测试或任何其他与该代码一起运行的测试套件覆盖了代码的哪些部分。目前,这只在使用 GCC 编译时受支持,并且需要 gcov 和 lcov 程序。

一个典型的工作流程如下:

./configure --enable-coverage ... OTHER OPTIONS ...
make
make check # or other test suite
make coverage-html

然后将 HTML 浏览器指向 coverage/index.html。这些 make 命令在子目录中也可以使用。

如果没有 lcov,或者比起 HTML 报告你更喜欢文本输出,也可以运行

make coverage

来代替 make coverage-html,这样会为与测试相关的每个源文件生成.gcov 输出文件。(make coverage 和 make coverage-html 会覆盖彼此的文件,因此混用它们可能造成混淆。)

要在各次测试运行之间重置执行计数,请运行:

make coverage-clean

提交更正

译文有误、术语不当或页面显示问题,请到译文仓库 pgsty/pgdoc 报告译文问题。英文原文本身的问题,请在当前版本的对应页面向上游反馈;上游不再修订已结束维护的版本。