淺談Tox之二
本文分享自天翼云開(kāi)發(fā)者社區《淺談Tox之二》,作者:Moonriver
1. 配置
加載tox.ini并將其與命令行和操作系統環(huán)境變量中的選項合并。
2. 包裝(可選)
通過(guò)調用python setup.py sdist創(chuàng )建當前項目的源代碼版本庫。 注意對于此操作,Python環(huán)境將與安裝tox時(shí)的相同(因此需要確保tox包含構建依賴(lài)項)。對于沒(méi)有setup.py的應用程序項目,跳過(guò)此步驟。
rally_openstack/tox.ini
minversion 定義運行所需的最低版本。
skipsdist = false(true | false) 指示是否執行打包操作的標志。當將tox用于應用程序而不是庫時(shí),設置為true。
envlist(逗號分隔值) 確定要使用tox的環(huán)境列表是按以下順序進(jìn)行的(如果找到了,則不再進(jìn)行任何查找)
3. 環(huán)境
環(huán)境創(chuàng )建——創(chuàng )建一個(gè)新的環(huán)境,默認情況下使用virtualenv。 tox會(huì )使用環(huán)境名稱(chēng)(例如表示Python 2.7的py27和basepython配置值)和當前的操作系統PATH值來(lái)自動(dòng)嘗試查找有效的Python解釋器版本。
install(可選)——安裝deps配置部分中指定的環(huán)境依賴(lài)項,然后安裝較早打包的源代碼。
commands——以指定的順序運行指定的命令。
測試環(huán)境由以下方式定義:
[testenv:NAME]
commands = ... testenv默認部分:
[testenv]
commands = ...
extras(MULTI-LINE-LIST)
與sdist一起安裝或進(jìn)行開(kāi)發(fā)安裝的“附加”列表。
setenv(MULTI-LINE-LIST)
每行包含一個(gè)NAME = VALUE環(huán)境變量設置,該設置將用于所有測試命令調用以及將sdist軟件包安裝到虛擬環(huán)境中。
PYTHONHASHSEED的特殊處理
默認情況下,tox將測試命令的PYTHONHASHSEED設置為調用tox時(shí)生成的隨機整數??梢栽趖ox.ini中覆蓋每個(gè)測試環(huán)境的哈希種子值。 whitelist_externals(MULTI-LINE-LIST)
將非virtualenv命令列入白名單,避免警告。
deps(MULTI-LINE-LIST)
在項目創(chuàng )建前安裝到虛擬環(huán)境中的環(huán)境依賴(lài)項。
install_command=python -m pip install {opts} {packages}(ARGV)
將軟件包安裝到虛擬環(huán)境中; 被測軟件包及其依賴(lài)項(由deps定義)。
usedevelop=false(true|false)
使用“setup.py develop”以開(kāi)發(fā)模式安裝當前軟件包,而不是從sdist安裝。
commands(ARGVLIST)
用于測試的命令。每行被解釋為一個(gè)命令,命令將按順序逐個(gè)執行,直到其中之一失?。ㄋ鼈兊耐顺龃a為非零)或全部成功為止。注意:虛擬環(huán)境的二進(jìn)制路徑(位于其中的bin文件夾)位于os PATH之前。
basepython(NAME-OR-PATH)
用于創(chuàng )建虛擬環(huán)境的Python解釋器的名稱(chēng)或路徑,確定將創(chuàng )建虛擬隔離環(huán)境的python。
passenv(SPACE-SEPARATED-GLOBNAMES)
執行測試命令時(shí),應將環(huán)境變量通配符名稱(chēng)列表從tox調用環(huán)境復制到測試環(huán)境。如果在tox調用環(huán)境中不存在指定的環(huán)境變量,則將其忽略。
*博客內容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀(guān)點(diǎn),如有侵權請聯(lián)系工作人員刪除。