簡體   English   中英

使用不同的環境變量配置運行 tox

[英]Running tox with different environment variable config

我想用不同的環境變量值運行我的測試。 我有這個 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

怎么了?

我用:

  • Win 10.0.18363 內部版本 18363
  • 蟒蛇 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}

關鍵是壓縮依賴矩陣 這種技術產生了緊湊且非冗余的解決方案:

[tox]
envlist = py37-{foo,bar,baz}

[testenv]
setenv =
    MY_VAR=COMMON
    foo: MY_VAR=FOO
    bar: MY_VAR=BAR
commands =
    env 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM