Setenvでfollowingを使用して、実行した場所から環境変数をインポートしていますが、すべての変数をインポートする方法があるため、実際に1つずつインポートする必要はありません。
例:{env:TEMPEST_CONFIG:}および{env:TEMPEST_CONFIG_DIR:}は、これら2つの変数のインポートに使用されます。
[testenv:nosetests]
setenv =
TEMPEST_CONFIG={env:TEMPEST_CONFIG:}
TEMPEST_CONFIG_DIR={env:TEMPEST_CONFIG_DIR:}
deps = {[testenv]deps}
commands =
find . -type f -name "*.pyc" -delete
bash {toxinidir}/tools/setup.sh
nosetests --with-xunit {posargs}
passenv を使用できます。キャッチオールワイルドカードを渡すと*
親環境からすべての環境変数にアクセスできます。
passenv = SPACE-SEPARATED-GLOBNAMES
バージョン2.0の新機能
テストコマンドの実行時にtox呼び出し環境からテスト環境にコピーされるワイルドカード環境変数名のリスト。指定された環境変数がtox呼び出し環境に存在しない場合、それは無視されます。 *と?を使用できます1つの名前で複数の環境変数を照合します。
最小限のtox.ini
複製する(プロジェクトは必要ありません):
[tox]
skipsdist = True
[testenv]
passenv = *
skip_install = True
commands = python -c "print('computer says {env:MY_FANCY_ENV_VAR:}!')"
linux/unixシェルでの呼び出し:
MY_FANCY_ENV_VAR=no tox -qq
windows cmd.exeでの呼び出し:
set MY_FANCY_ENV_VAR=no & tox -qq
出力:
computer says no!