首頁 > 後端開發 > Python教學 > 如何在 Python 中從單獨的測試目錄高效運行單元測試?

如何在 Python 中從單獨的測試目錄高效運行單元測試?

Linda Hamilton
發布: 2024-11-27 03:04:13
原創
758 人瀏覽過

How to Efficiently Run Unit Tests from a Separate Test Directory in Python?

如何在通用測試目錄結構中運行單元測試

在Python 中,通常的做法是在單獨的測試目錄中組織單元測試。然而,這提出瞭如何有效地執行這些測試的問題。

問題

當嘗試從測試目錄中執行 python test_antigravity.py 時,導入由於模組不在路徑上,反重力模組發生故障。修改 PYTHONPATH 或使用其他搜尋路徑技巧可能是可行的,但它們缺乏簡單性,特別是對於只想驗證測試結果的使用者。

解決方案

建議的方法是使用unittest命令列介面。它的 TestLoader 類別將必要的目錄新增到 sys.path 中,解決了路徑問題。

例如,在這樣的目錄結構中:

new_project
├── antigravity.py
└── test_antigravity.py
登入後複製

您可以使用以下命令執行測試:

$ cd new_project
$ python -m unittest test_antigravity
登入後複製

對於像提供的目錄結構:

new_project
├── antigravity
│   ├── __init__.py
│   └── antigravity.py
└── test
    ├── __init__.py
    └── test_antigravity.py
登入後複製

您可以實現透過將反重力和測試聲明為帶有__init__.py文件的包來實現類似的功能。在測試模組中,您可以照常匯入反重力套件及其模組。

執行特定測試

執行單一測試模組,例如 test_antigravity.py :

$ cd new_project
$ python -m unittest test.test_antigravity
登入後複製

您也可以執行單獨的測試案例或方法:

$ python -m unittest test.test_antigravity.GravityTestCase
$ python -m unittest test.test_antigravity.GravityTestCase.test_method
登入後複製

執行所有測試

您可以使用測試發現自動執行所有測試。這要求測試模組和套件命名為test*.py (可透過-p 或--pattern 標誌自訂):

$ cd new_project
$ python -m unittest discover
登入後複製

對於喜歡簡單的用戶,您可以指示他們執行以下命令命令:

To run the unit tests, do:
$ python -m unittest discover
登入後複製

以上是如何在 Python 中從單獨的測試目錄高效運行單元測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板