ipm*_*mcc 6 python python-sphinx autodoc
我正在尝试使用Sphinx来记录包含各种子包和子模块的Python包.我按照库存Sphinx快速入门脚本生成了各种文件,这些文件带有autodoc
指令,而这些指令依次与html
生成器一起生成,基于代码中现有的文档字符串生成了大多数预期的文档首次通过.凉.
现在进入sphinx.ext.coverage
.由于项目在"quickstart"脚本之后存在,因此运行sphinx-build -b coverage <other args>
根本不会产生任何有意义的输出,只需:
Undocumented Python objects
===========================
Run Code Online (Sandbox Code Playgroud)
......在它下面什么也没有.我故意删除一些文档字符串以确保,当然,没有警告.
我徘徊了一会儿,并最终尝试使用非autodoc
指令,并且看,coverage
突然看起来有效.可悲的是,autodoc
功能性是Sphinx首先吸引人的一大部分.但是好的,.. py:module::
为每个模块提供指令有帮助; 它似乎使coverage
扩展知道我的模块,并从那里开始在我的python.txt
有关成员的那些没有docstrings的模块中的条目.这很好,但它似乎意味着coverage
要报告一个模块,该模块必须在doc文件中明确地手动声明,这有点降低了coverage
工具的价值(即如果我向包中添加一个新模块,在我专门为它添加指令之前,它似乎不会被包含在覆盖率报告中.)所以,我所看到的autodoc
似乎能够自动遍历子模块/包,但却coverage
没有.
问题:我错过了什么吗?无法自动发现项目中出现的新代码似乎是"覆盖"工具的一个非常明显的错误.在我看来,标准的覆盖工具应该选择退出,而不是选择加入.
当我进一步推动时,我发现更多的证据表明coverage
并且autodoc
不是朋友.例如,对于手动声明模块,即使.. py:module::
指令(如上所述),我觉得coverage
是不是对的事情就像在捡autodoc
的exclude-members
指令.正如预期的那样,该指令在构建HTML时忽略了生成的输出中的成员匹配,但coverage
仍然在其覆盖率报告中将这些成员报告为未记录的.从我的阅读
问题:我在文档中的哪个地方之间存在这种不兼容性coverage
并且autodoc
无法找到?或者,我又错过了什么?
归档时间: |
|
查看次数: |
393 次 |
最近记录: |