我正在使用tox
进行测试。目前,我的tox.ini
定义了几个命令:
commands =
unit-a: py.test --cov mypackage mypackage/tests/unit/a []
unit-b: py.test --cov mypackage mypackage/tests/unit/b []
func: python -m behave -n "{env:SCENARIO}"
它还定义了每个命令的依赖性:
deps =
unit-a: mock
unit-a: pytest==3.9.3
unit-a: pytest-cov
unit-a: pytest-sugar
unit-b: mock
unit-b: pytest==3.9.3
unit-b: pytest-cov
unit-b: pytest-sugar
func: behave
这对我来说既笨拙又多余。是否可以使用命令的模式指定deps
?例如,
deps =
unit-*: mock
unit-*: pytest==3.9.3
unit-*: pytest-cov
unit-*: pytest-sugar
func: behave
这是尝试时遇到的错误:
ERROR: invocation failed (exit code 1), logfile: /app/.tox/py3-unit-a/log/py3-unit-a.log
ERROR: actionid: py3-unit-a
msg: getenv
cmdargs: "/app/.tox/py3-unit-a/bin/pip install --progress-bar off --index-url=https://pypi.org/simple 'unit-*: mock' 'unit-*: pytest==3.9.3' 'unit-*: pytest-cov' 'unit-*: pytest-sugar'"
Invalid requirement: 'unit-*: mock'
答案 0 :(得分:1)
您可以简单地做:
deps =
unit: mock pytest==3.9.3 pytest-cov pytest-sugar
func: behave
使用unit:
的第一行有效是因为tox
的{{1}} splits factors。
您也可以尝试取反:
-