2016-11-05 63 views
1

我的项目使用PHP 5.6,7.0,7.1(我没有尝试使用夜间或HHVM运行它)运行得很好,这只是我的测试, PHP 7.1,每晚和HHVM。我的测试使用PHP 5.6和7.0成功运行。他们工作的很好,直到我切换到使用Composer作为我的组件之一,并导致我的目录结构被调整了一下。但鉴于它在某些PHP版本中运行良好,而不是其他版本,我认为我本身并不存在简单的“错字”。这是PHP 7.1的潜在问题吗?我查看了PHP 7.0和7.1之间的更改日志,以查看是否有关于名称空间或自动加载的更多信息,但我没有看到任何内容。PHPUnit测试在7.1和HHVM中失败,但不是7.0或5.6

我正在使用Travis CI来构建我的项目并运行我的测试。我试图调试结果可以在这里找到:https://travis-ci.org/dbudwin/RoboHome-Web/jobs/173488168

他们都会导致不能够找到类,例如同样的错误:

1) Tests\Models\DevicesModelTest::testAdd 
Error: Class 'Models\DevicesModel' not found 

这里是一个直接链接到我拉要求需要工作:在F3Composer你缺少更新autoload部分的psr-4分支https://github.com/dbudwin/RoboHome-Web/pull/45

+0

与Xdebug v2.4.0 PHP 7.0.9相同的问题。没有问题的主分支具有相同的配置。 – Matteo

回答

1

composer.json。您重构类的路径,但不更新自动载入。所以改变你的自动加载如下:

composer.json

"autoload": { 
    "psr-4": { 
     "Models\\":"app/models", 
     "Controllers\\":"app/controllers" 
    } 
}, 

重新运行composer install(即再生自动加载文件)和测试套件将走向绿色。

希望这个帮助

相关问题