當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python unittest.main用法及代碼示例

用法:

unittest.main(module='__main__', defaultTest=None, argv=None, testRunner=None, testLoader=unittest.defaultTestLoader, exit=True, verbosity=1, failfast=None, catchbreak=None, buffer=None, warnings=None)

一個 命令行 程序,從 module 加載一組測試並運行它們;這主要是為了使測試模塊方便地執行。此函數最簡單的用途是在測試腳本的末尾包含以下行:

if __name__ == '__main__':
    unittest.main()

您可以通過傳入詳細參數來運行包含更詳細信息的測試:

if __name__ == '__main__':
    unittest.main(verbosity=2)

如果沒有通過 argv 指定測試名稱,defaultTest 參數或者是單個測試的名稱,或者是要運行的可迭代的測試名稱。如果未指定或 None 並且沒有通過 argv 提供測試名稱,則運行在 module 中找到的所有測試。

argv 參數可以是傳遞給程序的選項列表,第一個元素是程序名稱。如果未指定或 None ,則使用 sys.argv 的值。

testRunner 參數可以是測試運行程序類,也可以是已創建的實例。默認情況下 main 調用 sys.exit() 並帶有指示測試運行成功或失敗的退出代碼。

testLoader 參數必須是 TestLoader 實例,默認為 defaultTestLoader

main 支持通過傳入參數 exit=False 從交互式解釋器中使用。這將在標準輸出上顯示結果而不調用 sys.exit()

>>> from unittest import main
>>> main(module='test_module', exit=False)

failfastcatchbreakbuffer 參數與 same-name 命令行 options 具有相同的效果。

warnings參數指定警告過濾器應該在運行測試時使用。如果未指定,它將保留None如果一個-W選項被傳遞給Python(參考警告控製),否則將設置為'default'.

調用 main 實際上會返回 TestProgram 類的實例。這會將測試運行的結果存儲為result 屬性。

在 3.1 版中更改: exit添加了參數。

在 3.2 版中更改: verbosity,failfast,catchbreak,bufferwarnings添加了參數。

在 3.4 版中更改: defaultTest參數已更改為也接受可迭代的測試名稱。

相關用法


注:本文由純淨天空篩選整理自python.org大神的英文原創作品 unittest.main。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。