我可以把python doctests放在每個函數的主體中,我有時候喜歡小函數庫,因爲它們和函數在同一個文件中。把python doctest放在代碼文件的末尾?
或者我可以把它們放在一個單獨的文件中,並執行單獨的文件,這是很好的情況下,我不想在函數之間進行doctest。有時我發現如果文檔很小,代碼更容易處理。
是否還有一種方法可以將python doctests保存在同一個文件中,但將它們放在文件的最後?
編輯:一種解決方案,基於下面的接受的答案:
def hello_world():
return u'Hello World'
def hello(name):
return u'Hello %s' % name
def doctest_container():
"""
>>> hello_world()
u'Hello World'
>>> hello(u'Guido')
u'Hello Guido'
"""
pass
if __name__ == "__main__":
import doctest
doctest.testmod()
其實很簡單,一個虛擬函數作爲包含在一個文檔字符串的所有文檔測試的最後一個函數創建。
'測試()'可能比'doctest_container一個更好的名字() ',你可以在'test()'裏面移動doctest.testmod()。我已經相應地更新了答案。 – jfs 2012-03-20 00:50:31