以前一直用unittest作測試框架,後來在一次面試中被鄙視,以爲unittest過低端了,Pytest才高大上。那就來了解下Pytest! python
首先來看下官方文檔對pytest最新版本的介紹:nginx
更詳細的錯誤結果輸出
面試自動發現測試用例和測試模塊微信
能夠模塊化管理或者參數化化經常使用的測試資源框架
支持unittest和測試套模塊化
須要python3.5以上或pypy3以上版本工具
豐富的插件管理,超過315個外部插件和豐富的社區。測試
安裝:
this
pip install pytest
運行:
spa
import pytestdef test_Demo(): print("this is a pytest Demo") assert True
if __name__ == '__main__': pytest.main([("test_pytestDemo.py"),("-s")])
運行結果:
這裏我是用命令行運行的,也能夠在工具上點擊運行,個人py文件名是test_pytestDemo.py。
從Demo能夠看出,pytest的執行確實比unittest簡單一些,至少不須要每一個測試用例都繼承unittest.TestCase.
再看,Pytest是如何查找測試用例的?
若是沒有指定參數的狀況下,若是配置了testpaths設置的目錄或者當前目錄。另外,能夠在命令行中指定目錄、文件和ids。
遞歸找到的目錄,除了被指定了morecursedirs的目錄
在這些目錄中查找test_*.py或者*_test.py的文件,導入他們的測試包
從找到的文件中收集測試用例
test開頭的測試功能和類以外的方法
test開頭的測試功能和以Test開頭的測試類的裏面的方法(該類不能複寫__init__方法)
簡單的理解就是隻要指定目錄和test_*.py或者*_test.py的格式就能夠了。
官方文檔地址:https://docs.pytest.org/en/stable/
-------------------------------------最後---------------------------------
更多軟件測試相關內容請關注「軟件測試道與術」公衆號或掃描下方二維碼
本文分享自微信公衆號 - 軟件測試道與術(UTesting)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。