我似乎无法让斯芬克斯自动文档和doctest扩展很好地结合在一起。
我有一个经过文档测试的Python项目,其中的docstring工作得很好。也就是说,在我的模块和子模块上调用doctest.testmod()很好。
在项目的狮身人面像文档中,我使用ext.autodoc扩展和automodule指令自动将模块的文档导入每个模块的.rst文档中。
我想开始使用ext.doctest狮身人面像扩展来编写一些用户文档和教程,并自动检查它们的正确性。但是,问题是,很明显,doctest扩展解析了来自automoduled文档的docstring,尝试运行它们并失败(很多关于找不到docstring中引用的类型的错误,以及其他类似的问题)。
我真的不希望ext.doctest从Python代码中运行doctest(它们已经作为测试套件的一部分运行了)。有没有办法让狮身人面像而不是尝试运行某些文件中出现的doctest?
发布于 2015-03-25 19:09:48
我也有类似的问题。在我的模块的docstring中添加"testsetup“指令解决了这个问题。但不幸的是你不得不这么做。
"""Foo module types and functions
.. testsetup:: *
from foo import *
from foo.bar import *
"""http://sphinx-doc.org/ext/doctest.html#directive-testsetup
发布于 2015-04-29 13:52:08
如果希望告诉Sphinx不要从autodoc/automodule运行doctest,请修改conf.py文件中的conf.py参数。
doctest_test_doctest_blocks = None请注意,这还将禁用rst文件中的任何“普通”doctest块(即没有显式标记。。博士考试:指令的doctest)。
https://stackoverflow.com/questions/27231362
复制相似问题