ComposerでPhpUnitを使用しようとしています。この目的で私はしました:
1リクエストコンポーザーセクションにphpunitを追加しました:
"require": { "php": ">=5.3.0" }, "require-dev": { "phpunit/phpunit": "3.7.*" }, "autoload": { "psr-0": {"PhpProject": "src/"} }
2必要なものをインストールしました:
php composer.phar install --dev
操作は成功して終了しました。
phpunit / phpunit(3.7.6)のインストールダウンロード:100%
残念ながら、テストを実行したいときは、
./vendor/bin/phpunit PHP致命的なエラー:12行目の/home/serek/php/project/tests/bootstrap.phpにある非オブジェクトのメンバー関数add()を呼び出す
ComposerAutoloaderInit :: getLoader();を返すために問題が発生します。in vendor / autoloadは、テストブートストラップにNULLを返します。
ローダーをハッキングせずにどのように解決できるか考えていますか?
コード:phpunnit.xml.dist
> <?xml version="1.0" encoding="UTF-8"?>
>
> <phpunit bootstrap="tests/bootstrap.php" colors="true">
> <testsuites>
> <testsuite name="PhpProject Test Suite">
> <directory>tests/PhpProject/</directory>
> </testsuite>
> </testsuites>
>
> <filter>
> <whitelist>
> <directory suffix=".php">src/PhpProject/</directory>
> </whitelist>
> </filter> </phpunit>
tests / bootstrap.php(ここではオートローダーのみが必要です)
> $loader = require_once __DIR__ . "/../vendor/autoload.php";
> $loader->add('PhpProject\\', __DIR__); //<- this is problematic line 12 (comments has 9 lines)
/../vendor/autoload.php
// autoload.php generated by Composer
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit::getLoader();