加入收藏 | 设为首页 | 会员中心 | 我要投稿 大庆站长网 (https://www.0459zz.com/)- 科技、智能边缘云、事件网格、云计算、站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 如何运行Tox与Travis-CI

发布时间:2021-03-30 17:16:49 所属栏目:Python 来源:互联网
导读:如何在 Travis-CI以内测试 Tox的不同Python版本? 我有一个tox.ini: [tox]envlist = py{27,33,34,35}recreate = True[testenv]basepython = py27: python2.7 py33: python3.3 py34: python3.4 py35: python3.5d

如何在 Travis-CI以内测试 Tox的不同Python版本?

我有一个tox.ini:

[tox]
envlist = py{27,33,34,35}
recreate = True

[testenv]
basepython =
    py27: python2.7
    py33: python3.3
    py34: python3.4
    py35: python3.5
deps =
    -r{toxinidir}/pip-requirements.txt
    -r{toxinidir}/pip-requirements-test.txt
commands = py.test

它运行我的Python单元测试在几个Python版本和工作完美.

我想在Travis-CI中设置一个构建,以便在将更改推送到Github时自动运行,所以我有一个.travis.yml:

language: python
python:
-   "2.7"
-   "3.3"
-   "3.4"
-   "3.5"
install:
-   pip install tox
script:
-   tox

这在技术上似乎是有效的,但是从Python的每个版本到Python的每一个版本,它都是冗余的.所以需要5分钟的构建需要45分钟.

我尝试从我的yaml文件中删除python列表,所以Travis只会运行一个Python实例,但是导致我的Python3.5测试失败,因为3.5解释器找不到.显然,这是一个known limitation,因为Travis-CI将不会安装Python3.5,除非您在配置中指定了确切的版本,但它并没有为其他版本.

有没有办法解决这个问题?

解决方法

为此,我会考虑使用tox-travis.这是一个插件,允许使用Travis CI的多个python版本和Tox的完全可配置性.
为此,您将配置.travis.yml文件以使用Python进行测试:
sudo: false
language: python
python:
    - "2.7"
    - "3.4"
install: pip install tox-travis
script: tox

这将运行适当的testenvs,这是任何声明的env与py27或py34作为默认名称的因素.如果没有任何环境与给定因子匹配,Py27或py34将被用作回退.

Further Reading

(编辑:大庆站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读