2015-11-06 45 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腳本。 –