34
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ozvisionAdvent Calendar 2017

Day 15

phpUnitの便利メモ: コマンドラインで実行するとき便利なオプション紹介

Posted at

あるディレクトリー内のすべてのテストを実行させたい時

該当ディレクトリーのファイル名をすべて「~Test.php」になるように変更するのもできますが、既存の物が多いと面倒ですね。
別の方法として、自分で決めた末尾をphpUnitの設定に書く方法。
でも、これもあんまりやりたくない場合があります。
その時は、[--test-suffix]の設定を使います。実行コマンドに以下のような記述を足すだけで、指定のディレクトリー内にある、ファイル名が「.php」で終わっているすべてのファイルが実行されるようになります。

--test-suffix=.php

時間がかかるテストを素早く止めたい時

ケースの数が多く、時間がかかるテストがある場合、途中の失敗を早く確認したいときがあると思います。
とはいえ、毎回それで設定ファイルを触りたくないですし・・・

失敗したら、実行を止めたい時

--stop-on-failure

を付けます。
さらにデバッグ情報を出した状態にすると見やすいので、私はよく

--stop-on-failure --debug

という組み合わせを使います。このオプションは「失敗またはエラーで停止」をしてくれるので、下に書いた、エラーで停止を組み合わせる必要はないです。

エラーがでたら、実行を止めたい時

上の記述と似ています。エラーの場合、最後まで待ちたくない時は

--stop-on-error

--stop-on-error --debug

で止まってくれます。

phpの設定値を実行するときだけ書き換えたい時

ローカルのphp.iniを毎回触るのは面倒だし、場合(環境)によってできない時だって、あります。
しかし、それでも大きなデータを扱うテストしたかったり、色々とありますよね・・・
phpunitのコメントに、php.iniの設定値を実行中にだけ、上書きできるオプションがあります。

例えば、メモリを大きく、と:

 -d memory_limit=128M

とコメントに足せばOKです。

これももちろん、他のオプションと組み合わせることができます。

 -d memory_limit=128M --debug --test-suffix=.php

とかにして、一気にデバッグ情報を確認しながら、ディレクトリー内のテストを全部実行してしまいましょう。多い場合時間がかかりかもしれませんが、その間は、コーヒーでも飲んでしまえば、いいんです。^^

34
19
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
34
19

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?