Python 在tox中是否可以使用广度优先而不是深度优先?
我有一套小测试,总共运行大约40秒,我有一套中等测试,总共运行大约40分钟 我希望订单能像这样运行:Python 在tox中是否可以使用广度优先而不是深度优先?,python,testing,continuous-integration,automated-tests,tox,Python,Testing,Continuous Integration,Automated Tests,Tox,我有一套小测试,总共运行大约40秒,我有一套中等测试,总共运行大约40分钟 我希望订单能像这样运行: py27小测试 py37小型测试 py27中试 py37中试 相反,tox像这样运行 py27小测试 py27中试 py37小型测试 py37中试 问题是,如果某个简单的东西破坏了一个小测试,我想马上知道。中间测试(如集成测试)是一个额外的安全层,可以找出更多问题,但运行时间要长得多 [tox] envlist = py27,py37 [testenv:py27] deps = pyte
[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:
重要的是env列表
{s,m}-{py27,py37}
,它将按顺序运行s-py27
,s-py37
,m-py27
,m-py37
。Aha!这就是我一直在寻找的答案。我看到我的心理模型有点偏离了如何实际使用tox。我一直试图通过多个testenv:,使它工作,但没有意识到这不是真正的意图,只是一个反模式,它可以作为一个工具来做一些。这是非常清楚的!谢谢