特拉维斯项目失败,但不在自己的服务器上


Travis project failing but not on own server

我正在拔头发试图解决我的特拉维斯 CI 构建失败中的问题。我似乎无法找出为什么它在本地工作(可能是配置设置),但在 Travis CI 上不起作用。

我的项目位于特拉维斯CI的 https://travis-ci.org/crazycodr/data-grouper,源在 https://github.com/crazycodr/data-grouper。

我的构建中有几个问题,都与/src/CrazyCodr/Data/Grouper/GroupResult.php:447 有关

但是我没有看到任何通过引用传递的内容,所以要么是配置问题,要么是我没有得到的东西!

此外,如果有人能找出为什么我只运行 65/68 个测试......我真的不明白为什么我也要这样做,我检查了我所有的测试文件,没有断言或@exceptedException的测试,所以我有点不知道那里发生了什么......请注意,我在两台服务器上都有 65/68 问题,但构建中的引用错误仅在 Travis CI 上。

天哪,多亏了"http://geoffray.be/blog/php/only-variables-should-be-passed-by-reference",我找到了解决错误的方法......

我正在使用

//Return the Group
return reset(array_filter($this->groups, function($a)use($value){ return $a->getGroupValue() === $value; }));

Travis CI 上对我很严格的 reset() 我应该传递一个变量而不是临时变量,所以我把它改成了更丑陋的形式

$result = array_filter($this->groups, function($a)use($value){ return $a->getGroupValue() === $value; });
return reset($result);

剩下的唯一事情就是找出原因

error_reporting = E_ALL

不包括 Site5.com 上的E_STRICT