【问题标题】:What is the relationship and difference between tox and Travis-CI?tox和Travis-CI有什么关系和区别?
【发布时间】:2019-06-12 03:47:40
【问题描述】:

我对@9​​87654321@ 和Travis-CI 之间的概念关系/差异和使用场景感到困惑。

我看到 Python 项目分别使用 toxTravis-CI 来测试不同的 Python 环境。因此,这两种 CI 服务似乎可以相互替代

但我也读到我们可以run tox with Travis-CI。这似乎是这两个 CI 服务相互补充

所以我想知道如果我们已经有毒物(或相反),为什么我们仍然需要 Travis-CI?希望有人可以就这两者之间的概念关系和/或差异和使用场景做出澄清或指出一些资源?提前致谢!

【问题讨论】:

  • 这个问题没有错。十年来我一直在积极编写 Python 代码,并且广泛使用 travis 和 tox。我仍然发现重叠令人困惑,缺乏清晰的关注点分离令人困惑。例如,它们都定义了环境,但有不同的方法来准备具有依赖关系的环境。而且它们都在发展,所以今天的答案与去年不同。投反对票时,请有胆量发表评论。否则你只是在向陌生人开枪。

标签: python testing continuous-integration travis-ci tox


【解决方案1】:

tox 和 Travis CI 是两个完全不同的独立事物。

tox 是一个运行测试的程序。对于每次测试运行,它都会创建一个单独的虚拟环境。 tox 不是一个服务,它是一个程序。您可以在本地运行tox,因为它不使用任何外部资源。但您也可以在 Travis CI 运行 tox

Travis CI 是一项商业服务(带有免费层),可在其具有 Linux、MacOS 和 Windows 操作系统的虚拟机上运行测试。

你可以在没有 Travis 的情况下在本地运行 tox,你可以在没有 tox 的情况下在 Travis CI 上运行测试,你可以在 Travis CI 上使用 tox 运行测试。

PS。您甚至可以在没有 tox 和 Travis 的情况下运行测试,但这是最不有趣的部分。 ;-)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-21
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 2015-12-18
    • 2016-09-19
    相关资源
    最近更新 更多