使用標準測試目錄結構運行單元測試
許多Python專案採用典型的目錄結構,其中單元測試保存在單獨的「測試”目錄。這就提出了一個問題:如何有效地執行這些測試?
問題和問題
直接從「test」目錄運行 test_antigravity.py 將失敗,因為反重力模組不在系統路徑上。修改 PYTHONPATH 和類似的路徑相關技巧可能不是最佳解決方案。將測試檔案複製並貼上到不同的目錄中似乎效率很低。
解決方案:使用unittest命令列介面
最推薦的方法是使用unittest命令線介面。它會自動將目前目錄新增至 sys.path,從而允許無縫導入被測模組。
對於以下結構:
new_project └── test_antigravity.py
只需運作:
$ python -m unittest test_antigravity
對於結構例如:
new_project ├── antigravity │ └── antigravity.py └── test ├── test_antigravity.py
您可以執行單一測試模組:
$ python -m unittest test.test_antigravity
執行單一測試:
$ python -m unittest test.test_antigravity.GravityTestCase
執行單一測試方法:
$ python -m unittest test.test_antigravity.GravityTestCase.test_method
執行全部測試:
$ python -m unittest discover $ # Also works without discover for Python 3 $ # as suggested by Burrito in the comments $ python -m unittest
這種方法方便使用者執行單元測試,只需按照說明:「要執行單元測試,執行X。
以上是如何從 Python 中的標準「test」目錄有效地運行單元測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!