0

另一种问这个问题的方法:如果我用 reST 编写文档测试,我可以将它用于 Sphinx 或其他自动文档工作吗?

背景:我不知道如何使用 Sphinx,也没有太多的 reST 经验,所以我想知道是否可以在除 Sphinx 之外的其他地方使用 reST 编写的文档测试?

4

2 回答 2

2

为什么我要在重组文本中编写文档测试?

您并没有真正“以重组文本”编写测试。交互式示例是测试用例,与周围标记的外观无关;它可以是 reST,也可以是 Markdown 或 LaTeX 之类的其他东西。

reST 已被采用作为 Python 文档的“官方”标记语言,但您没有义务使用它。

那么为什么 doctest 文档中 doctest.testfile() 的简单用法示例然后作为 reST 文件给出?

Doctest 是一种通过检查文档中嵌入的交互式示例的正确性来测试代码的方法,因此解释 doctest 模块的示例还包括 reST 标记是有意义的。

您可以在仅包含交互式输入/输出示例且不包含其他内容的文本文件上运行 doctest。这些示例可以用作轻量级单元测试,但它们本身不太适合作为文档。

我想知道我是否可以在除 Sphinx 之外的其他地方使用 reST 编写的文档测试?

即使您不使用 Sphinx 作为文档,拥有可测试的代码示例也会很有用。

如果您正在寻找了解 reST 的替代文档工具,请查看 docutils(Sphinx 是基于它的,顺便说一句)及其前端工具,例如 rst2html.py。

另一个可能感兴趣的工具是rst2pdf

于 2012-05-19T10:14:41.950 回答
0

向您的文档添加 doctest 有助于确保您的文档中的代码实际按预期工作。因此,您正在测试您的文档。对于一般的代码测试,根本不推荐使用 doctests。

于 2015-08-25T16:23:36.193 回答