2014-11-12 4 views
2

Travis에 새로운 종류의 Importer가 있습니다. Github에 PHP 프로젝트를 업로드했는데 Travis을 통해 테스트 할 때 오류가 발생하고이 오류가 발생합니다.Travis-CI : 오토로더를 사용하는 경우에도 클래스를 찾을 수 없습니다.

PHP Fatal error: Class 'controllers\Welcome' not found in /home/travis/build/ezylot/PHPSkeleton/tests/controllers/welcomeTest.php on line 4 

필자는 오토로더를 사용하여 클래스를로드합니다. 로컬 컴퓨터에서는 문제가 없습니다. PHPUnit Konfiguration-XML 파일에 부트 스트랩이있는 bootsrap.php에 오토로더를 포함 시켰습니다.

<?php 
if ([email protected] __DIR__ . '/../vendor/autoload.php') { 
    die('You must set up the project dependencies, run the following commands: 
     wget http://getcomposer.org/composer.phar 
     php composer.phar install'); 
} 
?> 

답변

3

OSX에서 대소 문자를 구별하지 않는 파일 시스템이 있고 테스트가 통과하는 경우가 대부분입니다. Travis는 대소 문자를 구분하는 파일 시스템을 사용합니다. app/controllers/welcome.php에서 app/controllers/Welcome.php으로 이름을 변경하십시오.

일반적으로 자동 로딩 문제를 피하려면 PSR-1 표준을 따르는 것이 좋습니다.

1

클래스 파일 맨 위에 짧은 PHP 태그가 있습니다.

<? 

<?php 

이 원격에 파산,하지만 내 로컬에 반대. 나는 그것이 지역적으로도 깨질 것으로 예상했기 때문에 이상하다.

다른 사람이 같은 이상한 상황에 처한 경우를 대비하여이 부분을 공개하십시오.

+0

분명히 유효한 주의점이지만 Windows 및 Linux에서는 대소 문자를 구분하는 문제가있었습니다. –