2016-11-05 62 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(即再生自動加載文件)和測試套件將走向綠色。

希望這個幫助

相關問題