2016-11-05 1 views
1

PHP 5.6, 7.0, 7.1을 사용하여 프로젝트가 잘 실행됩니다 (야간 또는 HHVM을 사용하여 실행하지 않았습니다). PHP 7.1, 야간 및 HHVM. 내 테스트는 PHP 5.6 및 7.0을 사용하여 성공적으로 실행됩니다. Composer를 사용하여 구성 요소 중 하나를 사용하도록 전환하고 내 디렉토리 구조를 약간 조정할 때까지 제대로 작동했습니다. 그러나 일부 PHP 버전에서는 정상적으로 작동하고 다른 PHP 버전에서는 제대로 작동하지 않는다는 점을 감안할 때 필자는 단순한 "오타"자체가 없다고 생각합니다. 이것이 PHP 7.1의 잠재적 인 문제입니까? 나는 PHP 7.0과 7.1 사이의 변경 로그를보고 네임 스페이스 또는 자동로드하는 방법에 대해 눈에 띄는 것이 있는지 알아 보았지만 아무 것도 보지 못했습니다.PHPUnit 테스트에서 7.1 및 HHVM은 실패하지만 7.0 또는 5.6이 아닙니다.

트래비스 CI를 사용하여 프로젝트를 빌드하고 테스트를 실행합니다. 내가 디버그에 노력하고있어 결과는 여기에서 찾을 수 있습니다 : https://travis-ci.org/dbudwin/RoboHome-Web/jobs/173488168

는 예를 들어, 클래스를 찾을 수 없다는 동일한 오류의 모든 결과들은 다음과 같습니다

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

가 직접 링크 내 당신이 autoload 섹션의 psr-4를 업데이트 할 수없는 F3Composer 지점에 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.

희망 도움말

관련 문제