[英]Sphinx doctest vs autodoc
我似乎无法使Sphinx autodoc和doctest扩展程序配合使用。
我有一个经过文档测试的Python项目,其中的文档字符串工作正常。 也就是说,在我的模块和子模块上调用doctest.testmod()
效果很好。
在项目的Sphinx文档中,我正在使用ext.autodoc
扩展名和automodule
指令将模块的文档自动导入到每个模块的.rst
文档中。
我想开始使用ext.doctest
Sphinx扩展来编写一些用户文档和教程,并自动检查它们的正确性。 但是,问题在于,显然doctest扩展名从自动automodule
d docs解析文档字符串,尝试运行它们并失败(很多有关无法找到文档字符串中引用的类型的错误,以及类似的其他问题)。
我真的不希望ext.doctest
从Python代码运行doctest(它们已经作为测试套件的一部分运行了)。 有没有办法告诉Sphinx 不要尝试运行某些文件中出现的doctest?
我有一个类似的问题。 在模块的文档字符串中添加“ testsetup”指令可以为我解决该问题。 虽然,不幸的是您必须这样做。
"""Foo module types and functions
.. testsetup:: *
from foo import *
from foo.bar import *
"""
如果您希望告诉Sphinx不要从autodoc / automodule运行doctest,请在conf.py
文件中修改doctest_test_doctest_blocks参数
doctest_test_doctest_blocks = None
请注意,这还将禁用rst文件中的所有“纯” doctest块(即未显式标记为.. doctest:指令的doctest )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.