doctest 檢查文本文件中的示例

2022-08-03 17:05 更新

doctest的另一個簡單應用是在文本文件中測試交互式示例。這可以通過以下testfile()功能完成:

import doctest
doctest.testfile("example.txt")

該短腳本執(zhí)行并驗證文件中包含的任何交互式Python示例example.txt。文件內(nèi)容被視為一個巨大的文檔字符串; 該文件不需要包含Python程序!例如,也許example.txt包含這個:

The ``example`` module
======================

Using ``factorial``
-------------------

This is an example text file in reStructuredText format.  First import
``factorial`` from the ``example`` module:

    >>> from example import factorial

Now use it:

    >>> factorial(6)
    120

運行doctest.testfile("example.txt")然后在這個文檔中找到錯誤:

File "./example.txt", line 14, in example.txt
Failed example:
    factorial(6)
Expected:
    120
Got:
    720

與testmod()一樣,testfile()除非例子失敗,否則不會顯示任何內(nèi)容。如果一個例子失敗了,那么失敗的例子和失敗的原因?qū)⒈淮蛴〉綐藴瘦敵鲋?,格式為testmod()。

默認情況下,testfile()查找調(diào)用模塊目錄中的文件。有關可用于指示其在其他位置查找文件的可選參數(shù)的說明,請參見Basic API一節(jié)。

就像testmod(),testfile()可以通過-v命令行開關或可選的關鍵字參數(shù)verbose來設置詳細程度。

自Python 2.6以來,還有一個用于運行的命令行快捷方式testfile()。您可以指示Python解釋器直接從標準庫運行doctest模塊,并在命令行上傳遞文件名:

python -m doctest -v example.txt

因為文件名并不以此結(jié)束.py,因此doctest推斷它必須與其一起運行testfile(),而不是testmod()。

有關更多信息testfile(),請參閱基本API一節(jié)。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號