web-dev-qa-db-ja.com

composerからインストールされたphpunitを使用するには?

Phpunitでsymfony 2アプリケーションのユニットテストを開始したいと思います。 composer(プロジェクトごとの依存関係)を使用してphpunitをインストールしました。 http://www.phpunit.de/manual/current/en/installation.html

Zend Serverでphpunitコマンドを実行するにはどうすればよいですか? Pearがインストールされていません。

55
Tjorriemorrie

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

コンポーザーがない場合は、最初にインストールする必要があります。これは、ドキュメントで説明されています: インストール* nix または インストールWindows 。 composerを既にインストールしている場合、self-updateコマンドを実行してcomposer=を最新バージョンに更新することをお勧めします。

$ php composer.phar self-update

完了したら、dev依存関係を含むすべての依存関係をインストールする必要があります。これは、--devスイッチを指定してupdateコマンドを実行することで実行できます。

$ php composer.phar update --dev

すべての依存関係はvendorディレクトリにインストールされます。 PHPunitはコンソールから実行されます。 Composer=コンソールファイルをvendor/binディレクトリ内に自動的に配置します。そこでphpunitファイルを実行する必要があります。

$ vendor/bin/phpunit -c app/

-cスイッチはappディレクトリで設定ファイルを探すようPHPUnitに指示します。Symfony2はすでに<bundle>/Testsディレクトリにあるすべてのテストを実行するための正しい設定をセットアップします。

更新(05-04-2013)

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

更新(11-06-2013)

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

73
Wouter J

もっとcomposer way?

composer exec phpunit

Vendor/binディレクトリのすべてのバイナリファイルに使用できます。

23
StalkAlex

PDATE(12-02-2014)

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

Composer.json:

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

それを実行します:

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

これで、次の方法でテストを実行できます。

$ bin/phpunit -c /app

乾杯、

16
medina

実行できるように、composer.json内でスクリプトを定義するのが好きです。

$ composer test
# ... runs phpunit

これを行うには、composer.jsonを変更して、次のようなエントリを含める必要があります。

"scripts": {
    "test": [
        "phpunit tests/*.php"
    ]
}
9
Flimm

Symfony 3の場合は"phpunit/phpunit": "5.4.*"から"require-dev"セクションのcomposer.jsonそして、アプリケーションのルートディレクトリからテストを実行します:

./vendor/bin/phpunit tests
7
André

プロジェクトディレクトリにdev依存関係として追加します。

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

これで、インストールされたphpunitを次のコマンドで実行できます。

./vendor/bin/phpunit
5
Alex