python - 使用不同的环境变量配置运行 tox
问题描述
我想用不同的环境变量值来运行我的测试。我有这个 tox.ini,它不符合我的要求:
# tox.ini
[tox]
envlist = py37-{foo,bar}
[testenv]
description = Tests common
setenv =
MY_VAR=COMMON
commands =
env
[testenv:foo]
description = Tests foo
setenv =
MY_VAR=FOO
[testenv:bar]
description = Tests bar
setenv =
MY_VAR=BAR
上面ini
产生了以下输出:
$ tox
GLOB sdist-make:
***
py37-foo run-test: commands[0] | env
***
MY_VAR=COMMON <<<--- MY_VAR=foo is expected
***
py37-bar run-test: commands[0] | env
***
MY_VAR=COMMON <<<--- MY_VAR=bar is expected
怎么了?
我用:
- 赢得 10.0.18363 内部版本 18363
- Python 3.7.4
- 毒物:3.14.0
解决方案
tox
不结合环境。每个环境都派生自,[testenv]
但不考虑包含其他环境。您必须自己将它们组合在tox.ini
. 这应该有效:
[tox]
envlist = py37-{foo,bar}
[testenv]
description = Tests common
setenv =
MY_VAR=COMMON
commands =
env
[foo]
description = Tests foo
setenv =
MY_VAR=FOO
[bar]
description = Tests bar
setenv =
MY_VAR=BAR
[testenv:py37-foo]
description = Tests py37 foo
setenv = {[foo]setenv}
[testenv:py37-bar]
description = Tests py37 bar
setenv = {[bar]setenv}
推荐阅读
- reactjs - React Redux TypeError - 不是函数
- regex - 关于替换值的 Notepad++ 正则表达式问题
- python - 在 xarray.concat 中使用循环来选择不同的时间步长
- python-3.x - 我如何加载本地图像以在 tensorflow 中训练模型
- android - Auto tab item change on scrolled to bottom in recycler view using Android ViewPager2
- swiftui - 登录后更新 TabView 并移至 Home View
- unity3d - TrailRenderer 点击时的起点
- r - 如何用希伯来语阅读 R 中的 .doc 文件?
- php - 为不同的用户加载不同的数据库 - Laravel
- java - 收到错误“启动失败:类生成期间的一般错误:方法代码太大!”