2012-12-07 14 views

答えて

66

ドキュメントに従った場合は、phpunit/phpunitの依存関係を 'dev-dependency'として設定しています。

作曲者がいない場合は、まずそれをインストールする必要があります。これについては、Installation *nixまたはInstallation Windowsのマニュアルで説明しています。 すでに作曲をインストールした場合、self-updateのコマンドを実行して、最新バージョンに作曲を更新することをお勧めし:あなたは、あなたがのdevの依存関係を含めたすべての依存関係をインストールする必要があり、ことを行っている後

$ php composer.phar self-update 

を。これは--devスイッチでupdateコマンドを実行することによって行われます。

$ php composer.phar update --dev 

すべての依存関係がvendorディレクトリにインストールされています。 PHPunitはコンソールから実行されます。 Composer automaticは、コンソールファイルをvendor/binディレクトリに置きます。あなたがそこにphpunitファイルを実行する必要があります。

$ vendor/bin/phpunit -c app/ 

-cスイッチがappディレクトリに設定ファイルを探すためにはPHPUnitを伝え、Symfony2のは、すでに<bundle>/Testsディレクトリにあるすべてのテストを実行するために正しい構成を設定します。

UPDATE(2013年5月4日)

Composerは、そのアップデート/インストールコマンドを変更しました。 updateはデフォルトでdev依存関係をインストールし、dev依存関係をインストールする場合は、--devオプションを使用する必要があります。

UPDATE(2013年11月6日)

Composerはinstallコマンドものdevの依存関係をインストールし、再びそのコマンドを変更しました。

+0

アハ! '警告:(C:¥Program Files(x86)¥Zend¥Apache2¥Program Files(x86)¥Zend¥Ap ache2 \ htdocs \ project1には、次のエラーが表示されます。 \ Zend \ Apache 2 \ htdocs \ project1 \ vendor \ composerにあるようなファイルやディレクトリはありません。 \ ClassLoader.php on line 150.'ファイルは存在します。 – Tjorriemorrie

+0

私はここで私のエラーを続けました:http://stackoverflow.com/questions/13765651/phpunits-textui-command-php-not-found – Tjorriemorrie

+0

@WouterJ "アップデートは_dotaultでdevの依存関係をインストールしません"という意味ですか? – Danack

15

UPDATE(2014年12月2日)

ComposerとPHPUnitは再び彼らのコマンドを変更しました。 インストールコマンドはまた、devの依存関係をインストールします:

作曲家。JSON:

... 
"require-dev": { 
    "phpunit/phpunit": "3.7.*" 
}, 

が実行それを:

$ composer.phar update --prefer-dist --dev 

今あなたがしてテストを実行することができます。

$ bin/phpunit -c /app 

乾杯、

+0

'composer.phar update --help'と入力することはできますか? – medina

4

は、プロジェクトディレクトリに、DEVの依存関係としてそれを追加します:

composer require --dev "phpunit/phpunit=4.8.*" 

インストールPHPUnitのが、今で実行することができます:symfonyの3について

./vendor/bin/phpunit 
+2

代わりに、バージョン: '5.3。*'を使用できるようになりました。 – danger89

4

あなたcomposer.json"require-dev"セクションに"phpunit/phpunit": "5.4.*"を追加してアプリケーションのルートディレクトリからテストを実行します。

./vendor/bin/phpunit tests 
+0

もちろん、composer.jsonを意味します。 :) – Tegran

+0

ありがとう、それを修正しました。 :) –

+0

もちろん、従来のプロジェクトレイアウトを使用している場合、コマンドは./vendor/bin/phpunit src/AppBundle/Testsのようになります – Acyra

20

何についてより多くの作曲家の方法?

composer exec phpunit 

これは、vendor/binディレクトリ内のすべてのバイナリファイルに使用できます。

5

私はちょうど実行できるように、composer.json内のスクリプトを定義したい:

$ composer test 
# ... runs phpunit 

をそうするために、私はこのようなエントリを含むようにcomposer.jsonを変更する必要があります。

"scripts": { 
    "test": [ 
     "phpunit tests/*.php" 
    ] 
} 
関連する問題