unittest模塊學習(三)

25.3.3 測試發現

unittest支持簡單的測試發現。爲了兼容測試發現,所有的測試文件必須是可以從項目的頂級目錄導入的模塊或者包。(這裏的測試發現應該指的是,發現哪些是需要測試的文件或者用例)
測試發現在TestLoader.discover()中實現,也可以從命令行使用。基本用法:
cd project_directory
python -m unittest discover
discover 子命令有以下選項:
-v,--verbose
詳細輸出
-s,--start-directory
目錄開始發現(.默認)
-p,--pattern
匹配測試文件的模式(test*.py 默認)
-t,--top-level-directory
項目的頂級目錄(默認爲開始目錄)
-s,-p和-t選項可以通過該順序作爲位置參數傳遞。以下兩條命令是等效的:
python -m unittest discover -s project_directory -p "*_test.py"
python -m unittest discover project_directory "*_test.py"
除了路徑之外,還可以將包名稱作爲開始目錄(例如myproject.subpackage.test)。隨後將導入剛纔提供的軟件包名稱,並將其在文件系統上的位置作爲啓動菜單。

警告:測試發現加載測試的時候會導入他們。一旦測試發現已經從指定的開始目錄找到所有的測試文件,它會將路徑轉換爲要導入的軟件包名稱。例如foo/bar/baz.py將作爲foo.bar.baz.py導入。

如果有一個全局安裝的軟件包,並嘗試在另一個軟件包副本上進行測試發現,那麼可能會在錯誤的地方導入。如果發生了這種情況,測試發現會警告並退出。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章