通过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 virtualenvpython 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 shell。