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调用环境中不存在指定的环境变量,则将其忽略。