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