我有一个nose测试,它使用test目录中png文件的路径名。一条路对本地测试有效,一条路对特拉维斯有效。我如何检查代码何时在特拉维斯身上运行?
编辑:以下是实际代码
查看TRAVIS是否存在:
import os
is_travis = 'TRAVIS' in os.environ
您可以检查环境变量是否存在(或值)。看起来Travis默认定义了几个(见这里)。
例如:import os
istravis = os.environ.get('TRAVIS') == 'true'
事后看来,以上答案都是正确的。然而,我也想记录另一个浪费我生命时间的原因。
如果您正在维护一个使用流行的tox来编排测试的代码库,那么您可能不知道这个tox行为:
默认情况下,tox将只将PATH环境变量(在windows SYSTEMROOT和PATHEXT上)从tox调用传递到测试环境。如果您想传递额外的环境变量,可以使用passenv选项:
[testenv]
passenv = TRAVIS