在 Travis CI 上检测代码何时为 运行
Detecting when code is run on Travis CI
我有一个鼻子测试,它使用测试目录中 png 文件的路径名。一种路径适用于本地测试,一种路径适用于 Travis。我如何检查 Travis 上的代码何时为 运行?
编辑:这是 actual code.
您可以检查环境变量是否存在(或值)。看起来 Travis 默认定义了几个(参见 here)。
例如:
import os
istravis = os.environ.get('TRAVIS') == 'true'
检查 TRAVIS 是否存在:
import os
is_travis = 'TRAVIS' in os.environ
事后看来,以上所有答案都是正确的。但是,我还想记录另一个浪费我生命时间的原因。
如果您碰巧正在维护一个使用流行的 tox 来编排测试的代码库,您可能不知道 this tox behavior:
By default tox will only pass the PATH environment variable (and on windows SYSTEMROOT and PATHEXT) from the tox invocation to the test environments. If you want to pass down additional environment variables you can use the passenv option:
[testenv]
passenv = TRAVIS
我有一个鼻子测试,它使用测试目录中 png 文件的路径名。一种路径适用于本地测试,一种路径适用于 Travis。我如何检查 Travis 上的代码何时为 运行?
编辑:这是 actual code.
您可以检查环境变量是否存在(或值)。看起来 Travis 默认定义了几个(参见 here)。
例如:
import os
istravis = os.environ.get('TRAVIS') == 'true'
检查 TRAVIS 是否存在:
import os
is_travis = 'TRAVIS' in os.environ
事后看来,以上所有答案都是正确的。但是,我还想记录另一个浪费我生命时间的原因。
如果您碰巧正在维护一个使用流行的 tox 来编排测试的代码库,您可能不知道 this tox behavior:
By default tox will only pass the PATH environment variable (and on windows SYSTEMROOT and PATHEXT) from the tox invocation to the test environments. If you want to pass down additional environment variables you can use the passenv option:
[testenv]
passenv = TRAVIS