獅身人面像中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和真實世界的發展
請澄清你的問題。表面上看,有文檔顯示使用情況也能推動測試 - 看起來自然有價值。 –