使用典型的目錄結構運行單元測試
Python 的公共模組結構通常涉及將單元測試分離到專用的測試目錄中,如下所示:
new_project/ antigravity/ antigravity.py test/ test_antigravity.py setup.py etc.
運行這些測試需要的不僅僅是從測試中執行python test_antigravity.py目錄。由於反重力不在匯入路徑上,因此這種方法將會失敗。
相反,執行測試最直接的方法是使用 unittest 命令列介面。此實用程式會自動將目錄新增至 sys.path,使模組可以匯入。
對於以下目錄結構:
new_project ├── antigravity.py └── test_antigravity.py
以以下方式執行測試:
$ cd new_project $ python -m unittest test_antigravity
對於像您這樣的結構,在antigravity 和test 目錄中都有包,您可以像往常一樣在test 中導入antigravity中的模組模組:
# import the package import antigravity # import the antigravity module from antigravity import antigravity # or an object inside the antigravity module from antigravity.antigravity import my_object
運行特定測試:
運行特定測試模組(例如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
運行所有測試:
使用測試發現自動發現並運行所有測試:
$ cd new_project $ python -m unittest discover
這將執行測試包中的所有test*.py 模組。更多資訊請參考discovery官方文件。
以上是如何使用標準目錄結構在Python中有效運行單元測試?的詳細內容。更多資訊請關注PHP中文網其他相關文章!