首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多次测试,重新使用毒物环境

多次测试,重新使用毒物环境
EN

Stack Overflow用户
提问于 2019-07-26 14:35:41
回答 2查看 2.2K关注 0票数 6

是否可以使用单个tox虚拟环境执行以下操作?

代码语言:javascript
复制
[tox]
envlist = test, pylint, flake8, mypy
skipsdist = true

[testenv:lint]
deps = pylint
commands = pylint .

[testenv:flake8]
deps = flake8
commands = flake8 .

[testenv:mypy]
commands = mypy . --strict

[testenv:test]
deps = pytest
commands = pytest

由于我只是在我的python版本(py3.7)上进行测试,所以我不想让tox创建4个环境(.tox/test.tox/pylint.tox/flake8.tox/mypy),而这些环境都可以在单个环境上运行。

我还想看看个别的失败,因此我不想这样做:

代码语言:javascript
复制
[tox]
skipsdist = true

[testenv]
commands = pylint .
           flake8 .
           mypy . --strict
           pytest

因为输出是这样的:

代码语言:javascript
复制
_____________ summary ___________
ERROR:   python: commands failed

不是这样的:

代码语言:javascript
复制
____________________summary _________________
ERROR:   test: commands failed
ERROR:   lint: commands failed
ERROR:   mypy: commands failed
  test: commands succeeded
EN

回答 2

Stack Overflow用户

发布于 2020-09-25 08:18:32

使用生成名称和特定于因素的命令(在tox配置文档页面中搜索这些术语以获得更多信息)将所有您想要的环境作为一个实现,以便它们共享相同的envdir:

代码语言:javascript
复制
[testenv:{lint,flake8,mypy,test}]
envdir = {toxworkdir}/.work_env
deps = pylint, flake8, pytest
commands =
    lint: pylint .
    flake8: flake8 .
    mypy: mypy . --strict
    test: pytest
票数 10
EN

Stack Overflow用户

发布于 2019-07-26 16:04:14

tox在第一个失败命令处停止。因此,我的建议是命令从最快到最慢的命令,并允许tox执行其余的命令:

代码语言:javascript
复制
[testenv]
commands =
    flake8 .
    pylint .
    mypy . --strict
    pytest
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57222212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档