我遇到了使用作曲家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