我遇到了使用作曲家psr-4自动加载功能和PHPUnit的问题。问题出现在我的本地机器以及TravisCI版本上。单元测试无法找到我的课程,而正常脚本做。作曲者自动加载失败PHPUnit
任何配置肯定有问题,但我无法弄清楚我做错了什么。在此先感谢您的帮助。
这里是我的项目文件结构:
- 公共/
- 的src/
- HTTP/
- urlhelper.php
- lib.php
个
- HTTP/
- 测试/
- blacktie/
- HTTP/
- urlhelper.test.php
- lib.test.php
- HTTP/
- bootstrap.php中
- 测试用例。 php
- blacktie/
- .travis.yml
- composer.json
- 的init.php
- phpunit.xml
这里就是我的composer.json样子:
{
"require": {
"php": ">=5.4.0",
"nesbot/carbon": "1.*",
"ext-pdo": "*",
"predis/predis": "1.1.*@dev"
},
"require-dev": {
"satooshi/php-coveralls": "dev-master",
"phpunit/phpunit": ">=3.7"
},
"autoload": {
"psr-4": {
"BlackTie\\": "src/blacktie"
}
}
}
PHPUnit配置定义了一个引导程序,其中包括每个require_once
脚本共享的脚本艾因项目和测试,以初始化PSR-4自动加载机和常用功能:的init.php
define('ROOT', __DIR__);
// Composer-Autoloader
require_once "vendor/autoload.php";
// Framework library with common functions
require_once "src/blacktie/lib.php";
Travis的命令行说:对我
PHP Fatal error: Class 'BlackTie\Http\UrlHelper' not found in /home/travis/build/jazzschmidt/black-tie/tests/blacktie/http/urlhelper.test.php on line 38