34

我需要一种方法来确定调用该函数的人是否是 Travis-CI。如果是 Travis-CI,我不想在这里开始会话。现在,我让我的测试脚本创建一个名为的文件test.txt,然后查找它。

protected function __construct() {
    if ( (!session_id()) && (!file_exists('test.txt' ))) session_start();
}

但是,必须有更好的方法。看起来,如果没有文件检查,如果确实有一个会话,就不会创建一个新的会话。但这种情况并非如此。如果是这样的话,下面的之前的链接应该已经通过了。

添加“test.txt”文件之前:
之后

4

3 回答 3

59

一般来说,您可以通过检查环境变量来检测您是否在 Travis-CI 上。您可以检查CI=true或更具体的TRAVIS=true. 在 PHP 中,您可以使用该getenv()函数来获取环境变量的值。

请参阅环境的完整列表您可以在 .travis.yml中设置更多环境变量。

于 2012-10-20T13:58:51.503 回答
0

对于 Java,我正在检查用户:

/**
 * check if we are in the Travis-CI environment
 * @return true if Travis user was detected
 */
public boolean isTravis() {
  String user = System.getProperty("user.name");
  return user.equals("travis");
} 
于 2018-08-16T09:42:54.407 回答
0

如果你使用 JavaScript,有一个很棒的模块叫做is-ci,它在 NPM 中可用并且是 MIT 许可的。

注意:它true适用于任何持续集成环境,不仅仅是 TravisCI。

于 2019-03-01T19:59:43.453 回答