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