Cer*_*rin 7 python django unit-testing tox python-unittest
我正在尝试使用Tox来测试Python和Django的特定版本,但还包括一个通用的Pip需求文件,其中包含用于所有情况的其他依赖项.
正如Tox文档解释的那样,你做的第一个就是:
deps =
django15: Django>=1.5,<1.6
django16: Django>=1.6,<1.7
py33-mysql: PyMySQL ; use if both py33 and mysql are in an env name
py26,py27: urllib3 ; use if any of py26 or py27 are in an env name
py{26,27}-sqlite: mock ; mocking sqlite in python 2.x
Run Code Online (Sandbox Code Playgroud)
而你做第二个像:
deps = -r{toxinidir}/pip-requirements.txt
-r{toxinidir}/pip-requirements-test.txt
Run Code Online (Sandbox Code Playgroud)
但是你如何结合这些?
如果我尝试定义多个deps,Tox会给出错误"重复名称'deps'",但我没有看到将字典和列表标记组合为deps的方法.
我也尝试过:
deps =
-r{toxinidir}/pip-requirements.txt
-r{toxinidir}/pip-requirements-test.txt
django15: Django>=1.5,<1.6
django16: Django>=1.6,<1.7
Run Code Online (Sandbox Code Playgroud)
虽然这不会给我任何解析错误,但当我去运行测试时,我得到错误:
错误:py27-django15:无法安装deps [-r/usr/local/myproject/pip-requirements.txt,-r/usr/local/myproject/pip-requirements-test.txt,Django> = 1.5,<1.6 ].v = InvocationError('/ usr/local/myproject/.tox/py27-django15/bin/pip install -r/usr/local/myproject/pip-requirements.txt -r/usr/local/myproject/pip-requirements- test.txt Django> = 1.5,<1.6(参见/usr/local/myproject/.tox/py27-django15/log/py27-django15-1.log)',1)
大概是因为它将需求文件解释为文字Python包名称.