我对tox和Travis-CI之间的概念关系/差异和使用场景感到困惑。
我看到Python项目正在分别使用tox或Travis-CI针对不同的Python环境进行测试。因此,似乎这两个CI服务可以是彼此的替代。
但是我也读到我们可以run tox with Travis-CI。看来这两个CI服务是相互补充。
所以我想知道为什么如果我们已经有毒药(或者反之),为什么我们仍然需要Travis-CI?希望有人可以澄清或指出一些有关这两者之间的概念关系和/或差异和使用方案的资源吗?预先感谢!
答案 0 :(得分: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的情况下运行测试,但这是最不有趣的部分。 ;-)