我有一套小型测试,总共要花40秒钟,而我有一套中等测试,总共要花40分钟。
我希望命令像这样运行:
py27小测试
py37小测试
py27中等测试
py37中等测试
相反,tox像
py27小测试
py27中等测试
py37小测试
py37中等测试
问题是,如果一些简单的事情打破了一个小的测试,我想立即知道。中级测试(例如集成测试)是额外的安全层,可以冒出更多的问题,但需要更长的时间来运行。
[tox]
envlist = py27,py37
[testenv:py27]
deps =
pytest
pytest-cov
pytest-mock
pylint
; packages specified by the setup.py cover the other dependencies for py2.7
commands =
pytest -v --ignore-glob="*medium*" --doctest-modules
pytest -v tests/medium_tests
最佳答案
我不是毒理专家,但类似的方法可能会有所帮助:
[tox]
envlist = {s,m}-{py27,py37}
[testenv]
deps =
pytest
commands =
s: pytest -v -k 'not medium'
m: pytest -v -k 'medium'
您的所有简短测试命令都应带有前缀
s:
,所有中等测试命令都应带有前缀m:
重要的是环境列表
{s,m}-{py27,py37}
将按此顺序遍历s-py27
,s-py37
,m-py27
,m-py37
。