狮身人面像中doctest的意义是什么?有人可以通过一个简单的例子来帮助我理解它的用法。sphinx doctest的真实世界使用或意义是什么?
1
A
回答
1
我没有用它自己,但它是我的理解,它扩展的doctest
功能。例如,它添加了testsetup
和testcleanup
指令,您可以将其设置和拆卸逻辑放入其中。使Sphinx可以在文档中排除该指令。
1
下面是一个简单的例子(从the doctest module):
"""
This is the "example" module.
The example module supplies one function, factorial(). For example,
>>> factorial(5)
120
"""
def factorial(n):
"""Return the factorial of n, an exact integer >= 0.
If the result is small enough to fit in an int, return an int.
Else return a long.
>>> [factorial(n) for n in range(6)]
[1, 1, 2, 6, 24, 120]
>>> [factorial(long(n)) for n in range(6)]
[1, 1, 2, 6, 24, 120]
>>> factorial(30)
265252859812191058636308480000000L
>>> factorial(30L)
265252859812191058636308480000000L
>>> factorial(-1)
Traceback (most recent call last):
...
ValueError: n must be >= 0
Factorials of floats are OK, but the float must be an exact integer:
>>> factorial(30.1)
Traceback (most recent call last):
...
ValueError: n must be exact integer
>>> factorial(30.0)
265252859812191058636308480000000L
It must also not be ridiculously large:
>>> factorial(1e100)
Traceback (most recent call last):
...
OverflowError: n too large
"""
import math
if not n >= 0:
raise ValueError("n must be >= 0")
if math.floor(n) != n:
raise ValueError("n must be exact integer")
if n+1 == n: # catch a value like 1e300
raise OverflowError("n too large")
result = 1
factor = 2
while factor <= n:
result *= factor
factor += 1
return result
if __name__ == "__main__":
import doctest
doctest.testmod()
+0
我不想要这个例子。我想了解它的真实世界用法 –
3
Sphinx的doctest测试文档本身。换句话说,它允许自动验证文档的示例代码。虽然它也可能验证Python代码是否按预期工作,但Sphinx不仅仅是用于此目的(您可以更轻松地使用标准库的doctest
模块)。因此,一个真实世界的场景(我经常遇到这种场景)就像这样:一个新功能即将完成,因此我编写了一些文档来介绍这个新功能。新文档包含一个或多个代码示例。在发布文档之前,我在我的Sphinx文档目录中运行make doctest
,以验证我为受众撰写的代码示例是否真的有效。
相关问题
- 1. 什么是使用StringBuffer的真实世界的例子?
- 2. 真实世界中的Glassfish
- 3. 真实世界中使用GADT
- 4. 什么是TDD实际应用的高质量真实世界示例?
- 5. 真实世界对象
- 6. RxJava的真实世界用例对象
- 7. 真实世界的3D应用
- 8. 真实世界的Jython应用程序
- 9. 什么是抽象类的目的/用途? (寻找真实世界的例子。)
- 10. 什么是Scala的部分应用功能的真实世界示例
- 11. 真实世界中使用自定义.NET属性
- 12. 是否有任何真实世界的CPU不使用IEEE 754?
- 13. 是否有人使用SML或OCaml来构建真实世界的GUI?
- 14. iPhone真实世界应用教程
- 15. C#代表真实世界用法
- 16. 企业服务总线真实世界的用法或示例
- 17. “世界上最笨的智能指针”有什么意义?
- 18. 您使用了“堆栈”对象(.Net)的真实世界使用
- 19. Builder模式的真实世界示例
- 20. 真实世界的盲源分离
- 21. 寻找真实世界的Gradle例子
- 22. OOPS的真实世界示例
- 23. 在真实世界中的oracle
- 24. 真实世界的反射示例
- 25. PHP:真实世界的OOP示例
- 26. ext4yii真实世界的经验
- 27. 最简单的真实世界语言
- 28. Three.js真实世界的矩阵精度
- 29. Multiton - 真实世界的例子?
- 30. OpenGL ES和真实世界的发展
请澄清你的问题。表面上看,有文档显示使用情况也能推动测试 - 看起来自然有价值。 –