我是特拉维斯的新人,我现在正在用它来表达。我在Github上传了我的PHP项目,当我通过Travis进行测试时,它失败并给我这个错误。
PHP Fatal error: Class 'controllers\Welcome' not found in /home/travis/build/ezylot/PHPSkeleton/tests/controllers/welcomeTest.php on line 4
我使用自动加载器加载类,在本地计算机上没问题。我将bootsrap.php中的自动加载器包含在PHPUnit Konfiguration-XML文件中的引导程序中。
<?php
if (!@include __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');
}
?>
答案 0 :(得分:4)
您最有可能在OSX上开发,它具有不区分大小写的文件系统并且测试通过。 Travis使用区分大小写的文件系统。尝试将app/controllers/welcome.php
重命名为app/controllers/Welcome.php
。
一般来说,最好遵循PSR-1标准以避免自动加载问题。
答案 1 :(得分:1)
我在类文件的顶部有一个简短的php开放标记。
<?
而不是
<?php
这打破了遥控器,但不是我当地的。这很奇怪,因为我也希望它能在当地打破。
将其放在那里以防其他人处于相同的奇怪情况。