Пишу не большое консольное приложение для теста. Не использую композер. В качестве обучения решил поработать с тестами. Если тесты выполняются, все окей. Однако если тесты проваливаются:
1) tests\CrawlerTest::testFunctionBuildUrl
PHP Warning: require(Composer/Autoload/ClassLoader.php): failed to open stream: No such file or directory in /home/nepster/www/test.ru/bot/vendor/autoload.php on line 18
PHP Fatal error: require(): Failed opening required 'Composer/Autoload/ClassLoader.php' (include_path='.:/usr/share/php:/usr/share/pear') in /home/nepster/www/test.ru/bot/vendor/autoload.php on line 18
Чтобы работали нэймспэйсы я подключил следующую функцию:
/**
* PSR-0
* @param $className
*/
function autoload($className) {
$className = ltrim($className, '\\');
$fileName = '';
$namespace = '';
if ($lastNsPos = strrpos($className, '\\')) {
$namespace = substr($className, 0, $lastNsPos);
$className = substr($className, $lastNsPos + 1);
$fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR;
}
$fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php';
require $fileName;
}
spl_autoload_register('autoload');
Почему phpunit требует composer и только в случае провала тестов ?