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

  • 2020 年 3 月 15 日
  • 筆記

pytest介紹

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

tox介紹

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

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

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

下面通過一個實例來看一下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.jpgfile

Jenkins配置

  • 安裝python插件

tox2.pngfile

  • 創建一個多配置風格的job

tox3.jpgfile

  • 源碼配置

tox4.jpgfile

  • 配置axes

tox5.jpgfile

  • 添加python構建腳本

tox6.pngfile

import toxos.chdir(os.getenv("WORKSPACE"))tox.cmdline()

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

這篇文章說的比較粗糙,後面會加tox的介紹和Jenkins的配置說明
原文鏈接

歡迎大家去 我的博客 瞅瞅,裏面有更多關於測試實戰的內容哦!!