2015-11-06 69 views
0

我想让代码覆盖命令只在TravisCI的Tox中运行。我会怎么做?只在TravisCI上运行某些Tox命令

如果我只是将其粘贴到.travis.yml文件中,codecov库不起作用,并且我希望它在正常的tox测试期间不能运行,因为它使控制台的方式太混乱。

回答

0

支票$TRAVIS环境变量的存在,看到here对于其他人特拉维斯设置

也许你需要这行添加到您的tox.ini

passenv = TRAVIS 

您可以创建您的一个自定义条目tox.ini

[testenv:travis] 
deps= ... 
commands= <your travis command> 

,如果你需要需要添加一个步骤

[testenv] 
commands = 
    .... 
    travis: <your travis command> 

,如果你只需要改变依赖更改deps作为

[testenv] 
deps = 
    travis: <your travis dependencies> 

travis.ini通话tox -e travis

注意不在您的envlist=

中列出

,如果你需要一个步骤添加到矩阵

[testenv] 
passenv = TRAVIS 
commands = 
    - ... 
    - sh -c 'if [ '{env:TRAVIS:}' = 'true' ]; then ...... ; fi' 
+0

我知道,你可以通过'$ TRAVIS'环境变量,但如何用它来修改TOX的行为(不写多了一个选择自定义python脚本来处理它)? – Gamrix

+0

我在tox.ini中的这些“复杂”shell命令中使用的符号有困难。你可能想把它们放到一个shell脚本中,或者更好的是一个Python脚本。 –