pytest、tox、Jenkins實現python介面自動化持續集成
- 2020 年 3 月 15 日
- 筆記
pytest介紹
pytest是一款強大的python測試工具,可以勝任各種級別的軟體測試工作,可以自動查找測試用並執行,並且有豐富的基礎庫,可以大幅度提高用戶編寫測試用例的效率,具備可擴展性,用戶自己也可以編寫插件實現特定的功能,也可以安裝第三方插件,非常容易的與其他工具集成到一起,比如持續集成、介面自動化測試等。小編之前也寫過幾篇關於pytest的文章,可以到主頁查看哈。
tox介紹
tox是一個命令行工具,允許測試在多種環境下執行,tox不僅能測試不同的python版本,還可以用它來測試不同的依賴配置和不同的作業系統的配置。
工作原理大致是,通過setup.py文件為待測程式創建源碼安裝包,它會查看tox.ini中的所有環境設置,並針對每個環境執行如下操作:
- 在.tox目錄下創建一個虛擬環境
- 使用pip安裝依賴包
- 使用pip在步驟1的虛擬環境中安裝自己的程式包
- 運行測試用例
下面通過一個實例來看一下tox的運行過程:
在項目根目錄下新建tox.ini文件,然後加入下面的配置
[tox] envlist = py36 [testenv:dev] ; deps告訴tox確保pytest已經安裝,如果有多個測試依賴,可以按行羅列,同時也可以指定版本 deps = pytest ; 告訴tox在每個測試環境里運行pytest commands = pytest --junitxml=junit-{envname}.xml [pytest] markers = smoke: 用於冒煙測試 get addopts = -rsxX -l --tb=short --strict xfail_strict = true minversion = 3.0 norecursedirs = .* venv src *.egg dist build testpaths = tests python_classes = *Test Test* *Suit
在項目根目錄下執行tox -e dev查看輸出內容。
tox1.jpg
Jenkins配置
- 安裝python插件
tox2.png
- 創建一個多配置風格的job
tox3.jpg
- 源碼配置
tox4.jpg
- 配置axes
tox5.jpg
- 添加python構建腳本
tox6.png
import toxos.chdir(os.getenv("WORKSPACE"))tox.cmdline()
然後構建執行,就可以了。
這篇文章說的比較粗糙,後面會加tox的介紹和Jenkins的配置說明
原文鏈接
歡迎大家去 我的部落格 瞅瞅,裡面有更多關於測試實戰的內容哦!!