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查看輸出內容。
Jenkins配置
- 安裝python插件
- 創建一個多配置風格的job
- 源碼配置
- 配置axes
- 添加python構建腳本
import tox
os.chdir(os.getenv("WORKSPACE"))
tox.cmdline()
然后構建執行,就可以了。