我想用不同的环境变量值运行测试。我有这个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
怎么了?
我用:
关键是压缩依赖矩阵。此技术产生紧凑且非冗余的解决方案:
[tox]
envlist = py37-{foo,bar,baz}
[testenv]
setenv =
MY_VAR=COMMON
foo: MY_VAR=FOO
bar: MY_VAR=BAR
commands =
env