獅身人面像中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. 什麼是ConcurrentBag <T>的真實世界使用?
- 2. Android中LaunchModes的真實世界用例是什麼?
- 3. 使用什麼軟件編寫真實世界的haskell?
- 4. 真實世界的目的
- 5. 真實世界中的Glassfish
- 6. 真實世界中使用GADT
- 7. 什麼是TDD實際應用的高質量真實世界示例?
- 8. OOP真實世界示例
- 9. 真實世界對象
- 10. RabbitMQ真實世界場景
- 11. 什麼是抽象類的目的/用途? (尋找真實世界的例子。)
- 12. 真實世界的3D應用
- 13. Mesos真實世界的用例
- 14. 真實世界的Jython應用程序
- 15. RxJava的真實世界用例對象
- 16. 什麼是Scala的部分應用功能的真實世界示例
- 17. 真實世界的接口實現
- 18. 真實世界中使用自定義.NET屬性
- 19. 是否有任何真實世界的CPU不使用IEEE 754?
- 20. 是否有人使用SML或OCaml來構建真實世界的GUI?
- 21. C#代表真實世界用法
- 22. iPhone真實世界應用教程
- 23. 接口的使用,實際的和真實世界的例子
- 24. 使用@Cacheable註釋的真實世界DAO的最佳實踐
- 25. 仿函數或函數對象的真實世界用法
- 26. 企業服務總線真實世界的用法或示例
- 27. 「世界上最笨的智能指針」有什麼意義?
- 28. 您使用了「堆棧」對象(.Net)的真實世界使用
- 29. TIS-100的真實世界模擬
- 30. OOPS的真實世界示例
請澄清你的問題。表面上看,有文檔顯示使用情況也能推動測試 - 看起來自然有價值。 –