私は作曲家を使ってphpunitをグローバルにインストールしました。しかし、私はコンポーザーも使用するプロジェクトでそれを使用したいが、phpunitはインストールされていない(これは退屈な理由がある)。phpunitを使用して、Composerオートローダーでクラスのグローバルベンダーディレクトリとローカルベンダーのディレクトリをチェックする方法は?
私は以下の最初のテストを実行し、エラーを取得します。
Fatal error: Class 'PHPUnit\Framework\TestCase' not found in /vagrant/sites/core/trunk/Notify/php/tests/MyFirstTest.php on line 5
私は、世界的な作曲家のオートローダーをロードすると、PHPUnitのは、PHPUnitのクラスのグローバル作曲ディレクトリに見てみましょうだろうが、それを見つけることができるようには見えないと思いました。私はそれがグローバルなものの代わりにローカルの作曲家のディレクトリに$ vendorDir(下)を設定していると思います。両方をチェックする方法はありますか?
ここに、クラスがグローバルな自動ロードクラスマップにあることを示す/home/vagrant/.composer/vendor/composer/autoload_classmap.phpの行があります。
'PHPUnit_Framework_TestCase' => $vendorDir . '/phpunit/phpunit/src/Framework/TestCase.php',
ここでは、プロセスの開始に使用しているコマンドラインを示します。
phpunit --bootstrap tests/bootstrap.php tests/MyFirstTest.php
はここでここで私はグローバルPHPUnitのオートローダをロードbootstrap.phpのだMyFirstTest.php
<?php
use PHPUnit\Framework\TestCase;
class MyFirstTest extends TestCase {
public function testOneIsOne() {
$this->assertEquals(1, 1);
}
}
です。
<?php
require_once('/home/vagrant/.composer/vendor/autoload.php');
この質問を書くことは、私の考えをはっきりと示すのに役立ちました。もし誰かがすてきな解決策を持っているなら、それは素晴らしいだろう。私はphpunitをローカルにインストールしなければならないと思っています。
助言をお寄せください。
あなたの 'composer.lock'ファイルの' require-dev'セクションにphpunitを追加しないと、私は考えていません。あなたのプロジェクトにインストールするだけです。 –