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

构建器

class sphinx.ext.coverage.CoverageBuilder[源代码]

配置

可以使用多个配置值来指定构建器应检查的内容:

coverage_modules
类型:
Sequence[str]
默认:
()

要测试覆盖率的 Python 包或模块列表。如果提供了此列表,Sphinx 将检查该列表中提供的每个包或模块以及其中找到的所有子包和子模块。如果未提供此列表,Sphinx 将仅为其已知的 Python 包和模块提供覆盖率:也就是说,使用 Python domain 中提供的 py:module 指令或由 autodoc 扩展提供的 automodule 指令记录的任何模块。

在 7.4 版本加入.

coverage_ignore_modules
coverage_ignore_functions
coverage_ignore_classes
coverage_ignore_pyobjects
类型:
Sequence[str]
默认:
()

Python regular expressions 列表。

如果这些正则表达式中的任何一个与Python对象的完整导入路径的任何部分匹配,那么该Python对象将从文档覆盖率报告中排除。

在 2.1 版本加入.

coverage_c_path
类型:
Sequence[str]
默认:
()
coverage_c_regexes
类型:
dict[str, str]
默认:
{}
coverage_ignore_c_items
类型:
dict[str, Sequence[str]]
默认:
{}
coverage_write_headline
类型:
bool
默认:
True

设置为 False 不写标题。

在 1.1 版本加入.

coverage_skip_undoc_in_source
类型:
bool
默认:
False

跳过源代码中没有使用文档字符串记录的对象。

在 1.1 版本加入.

coverage_show_missing_items
类型:
bool
默认:
False

也将缺失的对象打印到标准输出。

在 3.1 版本加入.

coverage_statistics_to_report
类型:
bool
默认:
True

打印覆盖率统计的表格报告到覆盖率报告。

示例输出:

+-----------------------+----------+--------------+
| Module                | Coverage | Undocumented |
+=======================+==========+==============+
| package.foo_module    | 100.00%  | 0            |
+-----------------------+----------+--------------+
| package.bar_module    | 83.33%   | 1            |
+-----------------------+----------+--------------+

在 7.2 版本加入.

coverage_statistics_to_stdout
类型:
bool
默认:
False

将覆盖率统计的表格报告打印到标准输出。

示例输出:

+-----------------------+----------+--------------+
| Module                | Coverage | Undocumented |
+=======================+==========+==============+
| package.foo_module    | 100.00%  | 0            |
+-----------------------+----------+--------------+
| package.bar_module    | 83.33%   | 1            |
+-----------------------+----------+--------------+

在 7.2 版本加入.