簡體   English   中英

Sphinx doctest與autodoc

[英]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 *
"""

http://sphinx-doc.org/ext/doctest.html#directive-testsetup

如果您希望告訴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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM