コマンド指定子でデフォルト引数を使用posargs
することにより、引数が渡されない場合でもテストを実行しながら、任意のコマンドラインを基礎となる virtualenv 環境に渡すことができます。
tox.ini
いいねを使う
[tox]
envlist = py27,py35,pypy,pypy3
[testenv]
passenv =
TERM
deps=
pytest
ipython
six
commands={posargs:py.test}
tox が引数なしで呼び出されると、デフォルトで実行py.test
されます。それ以外の場合、コマンド ラインで渡された引数は、指定された virtualenv に送信されます。
hello.py
プロジェクトのルートでサンプルを使用する
import os
import sys
print(os.__file__)
print(sys.version)
print("Hello from env")
経由で呼び出されますtox -e pypy python hello.py
tox -e pypy
引数を指定して pypy virtualenv を起動しますpython hello.py
出力:
/Users/seanjensengrey/temp/.tox/pypy/lib-python/2.7/os.pyc
2.7.10 (5f8302b8bf9f53056e40426f10c72151564e5b19, Jan 20 2016, 04:41:02)
[PyPy 4.0.1 with GCC 4.2.1 Compatible Apple LLVM 7.0.2 (clang-700.1.81)]
Hello from env
私はTERM="xterm-256color" tox -e pypy ipython
自分のパッケージをvirtualenvにインストールしてipythonシェルを呼び出していました。