sphinx.ext.coverage
– 收集文档覆盖率统计信息¶
此扩展提供了一个额外的构建器,即 CoverageBuilder
。
注意
sphinx-apidoc 命令可用于自动为项目中的所有代码生成 API 文档,避免手动编写这些文档并保持其最新。
警告
coverage
导入 要记录的模块。如果任何模块在导入时有副作用,这些副作用将在运行 sphinx-build
时由覆盖率构建器执行。
如果您记录脚本(而不是库模块),请确保它们的 main 例程受 if __name__ == '__main__'
条件的保护。
注意
为了让 Sphinx(实际上是执行 Sphinx 的 Python 解释器)找到您的模块,它必须是可导入的。这意味着该模块或包必须位于 sys.path
上的某个目录中 - 相应地调整配置文件中的 sys.path
。
要使用此构建器,请在您的配置文件中激活覆盖率扩展,并在命令行中运行 sphinx-build -M coverage
。
构建器¶
配置¶
可以通过多个配置值来指定构建器应该检查什么。
- coverage_modules¶
- 类型:
list[str]
- 默认值:
[]
要测试覆盖率的 Python 包或模块列表。当提供此值时,Sphinx 将内省此列表中提供的每个包或模块,以及在每个包或模块中找到的所有子包和子模块。当不提供此值时,Sphinx 将仅提供其已知的 Python 包和模块的覆盖率:即任何使用
py:module
指令在 Python 领域 中提供的模块,或由automodule
指令提供的模块autodoc
扩展。在版本 7.4 中添加。
- coverage_ignore_modules¶
- coverage_ignore_functions¶
- coverage_ignore_classes¶
- coverage_ignore_pyobjects¶
Python 正则表达式 的列表。
如果这些正则表达式中的任何一个与 Python 对象的完整导入路径的任何部分匹配,则该 Python 对象将从文档覆盖率报告中排除。
在版本 2.1 中添加。
- coverage_c_path¶
- coverage_c_regexes¶
- coverage_ignore_c_items¶
- coverage_write_headline¶
设置为
False
以不写入标题。在版本 1.1 中添加。
- coverage_skip_undoc_in_source¶
跳过源代码中没有使用 docstring 记录的对象。默认情况下为
False
。在版本 1.1 中添加。
- coverage_show_missing_items¶
也将丢失的对象打印到标准输出。默认情况下为
False
。在版本 3.1 中添加。
- coverage_statistics_to_report¶
将覆盖率统计信息的表格报告打印到覆盖率报告中。默认情况下为
True
。示例输出
+-----------------------+----------+--------------+ | Module | Coverage | Undocumented | +=======================+==========+==============+ | package.foo_module | 100.00% | 0 | +-----------------------+----------+--------------+ | package.bar_module | 83.33% | 1 | +-----------------------+----------+--------------+
在版本 7.2 中添加。
- coverage_statistics_to_stdout¶
将覆盖率统计信息的表格报告打印到标准输出。默认情况下为
False
。示例输出
+-----------------------+----------+--------------+ | Module | Coverage | Undocumented | +=======================+==========+==============+ | package.foo_module | 100.00% | 0 | +-----------------------+----------+--------------+ | package.bar_module | 83.33% | 1 | +-----------------------+----------+--------------+
在版本 7.2 中添加。