テスト実行から無視したい PHPUnit Test クラスがあります。ファイル名にTestという単語が含まれないように名前を変更することでそれができることは知っていますが、ソース管理の水域を必要以上に汚すので、そうしないほうがよいでしょう。
誰か提案がありますか?
テスト実行から無視したい PHPUnit Test クラスがあります。ファイル名にTestという単語が含まれないように名前を変更することでそれができることは知っていますが、ソース管理の水域を必要以上に汚すので、そうしないほうがよいでしょう。
誰か提案がありますか?
phpunit
コマンドには、実行するテストと実行しないテストを定義するのに役立つオプションがいくつかあります。
$ phpunit --help
PHPUnit 3.4.0beta5 by Sebastian Bergmann.
Usage: phpunit [switches] UnitTest [UnitTest.php]
phpunit [switches] <directory>
...
--filter <pattern> Filter which tests to run.
--group ... Only runs tests from the specified group(s).
--exclude-group ... Exclude tests from the specified group(s).
--list-groups List available test groups.
...
それらはおそらくあなたが望むものを正確に指定することを許可しないでしょう...しかしそれらは役立つかもしれません。
詳細については、コマンドラインテストランナーを参照してください。
特に、私はグループ機能が好き@group
です。テストのphpdocでタグを使用して、テストを再グループ化します(たとえば、「機能のチャンク」ごとに1つのグループ)。その後、コマンドラインの--group
または--exclude-group
オプションを使用して、実行するテストと実行しないテストを指定できます。
あなたの場合、テストを変更できない場合は、テストの名前の付け方に応じて(つまり、実行するテストを識別する方法がある場合)、-filterオプションが役立つ可能性があります。
--filter
名前が指定されたパターンと一致するテストのみを実行します。パターンは、単一のテストの名前、または複数のテスト名に一致する正規表現のいずれかです。
実行するテストの「グループ」を常に変更するわけではない場合の別の解決策は、実行するテストのみを含むテストスイートを使用することです。
たとえば、XML構成を使用したテストスイートの作成を見てください。
メソッドの名前を変更するだけです:
testFunctionality () { //何とか}
に
ignore_ testFunctionality () { //何とか}
これは受け入れられた回答のある古い質問であることを認識しているので、邪魔にならないように願っていますが、テストをスキップできることを完了のために指摘したかっただけです。不完全でスキップされたテストは、PHPUnit によって実行されません。
もちろん、これはテストごとのレベルですが、クラスに入れることで統合できますsetUp()
。
ただのヘッズアップ。