pytest、tox、Jenkins實現python接口自動化持續集成


pytest、tox、Jenkins實現python接口自動化持續集成

pytest介紹

pytest是一款強大的python測試工具,可以勝任各種級別的軟件測試工作,可以自動查找測試用並執行,並且有豐富的基礎庫,可以大幅度提高用戶編寫測試用例的效率,具備可擴展性,用戶自己也可以編寫插件實現特定的功能,也可以安裝第三方插件,非常容易的與其他工具集成到一起,比如持續集成、接口自動化測試等。小編之前也寫過幾篇關於pytest的文章,可以到主頁查看哈。

tox介紹

tox是一個命令行工具,允許測試在多種環境下執行,tox不僅能測試不同的python版本,還可以用它來測試不同的依賴配置和不同的操作系統的配置。

工作原理大致是,通過setup.py文件為待測程序創建源碼安裝包,它會查看tox.ini中的所有環境設置,並針對每個環境執行如下操作:

  1. 在.tox目錄下創建一個虛擬環境
  2. 使用pip安裝依賴包
  3. 使用pip在步驟1的虛擬環境中安裝自己的程序包
  4. 運行測試用例

下面通過一個實例來看一下tox的運行過程:

在項目根目錄下新建tox.ini文件,然後加入下面的配置

<code>[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/<code>

在項目根目錄下執行tox -e dev查看輸出內容。

pytest、tox、Jenkins實現python接口自動化持續集成

Jenkins配置

  • 安裝python插件
pytest、tox、Jenkins實現python接口自動化持續集成

  • 創建一個多配置風格的job
pytest、tox、Jenkins實現python接口自動化持續集成

  • 源碼配置
pytest、tox、Jenkins實現python接口自動化持續集成

  • 配置axes
pytest、tox、Jenkins實現python接口自動化持續集成

  • 添加python構建腳本
pytest、tox、Jenkins實現python接口自動化持續集成

<code>import tox

os.chdir(os.getenv("WORKSPACE"))
tox.cmdline()/<code>

然後構建執行,就可以了。


分享到:


相關文章: