1. 程式人生 > >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檔案,然後加入下面的配置 ``` [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![file](https://img2020.cnblogs.com/other/1960827/202003/1960827-20200315231506626-1618564301.png) # Jenkins配置 * 安裝python外掛 tox2.png![file](https://img2020.cnblogs.com/other/1960827/202003/1960827-20200315231506883-1034298090.png) * 建立一個多配置風格的job tox3.jpg![file](https://img2020.cnblogs.com/other/1960827/202003/1960827-20200315231507069-778761515.png) * 原始碼配置 tox4.jpg![file](https://img2020.cnblogs.com/other/1960827/202003/1960827-20200315231507270-1173419087.png) * 配置axes tox5.jpg![file](https://img2020.cnblogs.com/other/1960827/202003/1960827-20200315231507452-1545863305.png) * 新增python構建指令碼 tox6.png![file](https://img2020.cnblogs.com/other/1960827/202003/1960827-20200315231507615-173936667.png) ``` import toxos.chdir(os.getenv("WORKSPACE"))tox.cmdline() ``` 然後構建執行,就可以了。 **這篇文章說的比較粗糙,後面會加tox的介紹和Jenkins的配置說明** [原文連結](https://www.immortalp.com/articles/2020/03/15/1584285031445.html) > 歡迎大家去 [我的部落格](https://www.immortalp.com) 瞅瞅,裡面有更多關於測試實戰的內容