写点什么

浅谈 Tox 之二

  • 2025-02-28
    北京
  • 本文字数:1080 字

    阅读完需:约 4 分钟

本文分享自天翼云开发者社区《浅谈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 调用环境中不存在指定的环境变量,则将其忽略。 

用户头像

还未添加个人签名 2022-02-22 加入

天翼云是中国电信倾力打造的云服务品牌,致力于成为领先的云计算服务提供商。提供云主机、CDN、云电脑、大数据及AI等全线产品和场景化解决方案。

评论

发布
暂无评论
浅谈Tox之二_Python_天翼云开发者社区_InfoQ写作社区