2013-01-13 9 views
17

PhupStorm 5をPHPUnitでセットアップしました。ファイル保存時に自動的にユニットテストを実行する機能がPhpStormに含まれているかどうか不思議です。ウォッチャーやガードのように。私は、私たちの最愛のwwwとPhpStormのドキュメントを検索しようとしましたが、解決策を見つけることができませんでした。バージョン6のようファイルをPhpStormに保存するときの実行単位テスト

+0

PhpStormは(ファイルが保存されますときに何かを実行する)はそのような能力を持っていません。あなたは** **マクロ**を記録して1)ファイルを保存し、2)ユニットテストを実行してから、いくつかのショートカットを割り当てて保存の代わりに使用することができます(明らかに、ファイルが自動的に保存されると、関与していない)。それ以外にも、ファイルの変更に関する特定のアクションを実行できる外部ファイルウォッチャーがあります。 ** P.S。**これは類似の種類の機能を要求するチケットです:http://youtrack.jetbrains.com/issue/IDEA-85791 – LazyOne

+0

非常に明確な答え@LazyOneありがとう。非常に高く評価! –

答えて

24

は、PHPStormは、 "ファイルウォッチャー"

  • は、プロジェクトの環境設定を開きがあります。
  • オプションの左側のリストから[ファイルウォッチャー]を選択します。
  • 空の右手パネルの下部にある+記号をクリックします。
  • 選択<custom>

あなたはPHPUnitのためのコマンドラインを設定する必要がありますが、それは文句を言わない統合テストすることができますが、コンソールにエラーが出力ことができます(良いスタートに良いです!)

さまざまなマクロオプションが用意されているため、コマンドラインに渡される引数には、たとえば$FileNameWithoutExtension$Test.phpを含めることができます。

私は個人的に2人のウォッチャーを設定しなければなりませんでした。プロジェクトファイルの最初に検出された変更とテストファイルの2番目に検出された変更(2番目のファイル名にTest.phpが追加されませんでした)また、最初のウォッチャーからテストディレクトリを除外する新しいプロジェクトスコープを作成しました。

PHPStormがファイルを自動保存するときにPHPUnitが実行されるため、即時同期をオフにすることもできます。

  • ファイルタイプ:PHP files (PHP)
  • 範囲:Project excluding tests
  • プログラム:/path/to/php
  • 引数:/path/to/phpunit --configuration /path/to/phpunit.xml.dist /path/to/tests/$FileNameWithoutExtension$Test.php
  • 作業ディレクトリ:​​
  • 出力パス

    私の他の設定は次のようにしています:​​

出力フィルタは設定されず、構文エラーチェックが有効になり、コンソールにエラーが表示されます。

+0

ご迷惑をおかけして申し訳ありませんが、これは素晴らしい情報です!私はすでにアップグレードしました:)この質問に戻ってくれてありがとうございますLeigh –

+0

すばらしい答え!上記の手順をたどり、私はそれを動作させました。 PHPStorm 7の設定が少し変わってしまったので、ここで私がそれを動作させるために使用した詳細の画像があります: ** [GDocsへのリンク](https://docs.google.com/drawings/d/1mk2abn6k4cxa3HhqviVcshiwww3EvFkX_VhBtjXN3FE /編集)** 。私はPHPStorm設定で独自のスコープを作成しました。私が見たいファイルを含めました。 –

+1

phpunitの '--filter'オプションを使用して設定を簡略化し、1つのウォッチャーを持つことができます。引数設定を '--filter $ FileNameWithoutExtension $'に変更するだけで、ファイルや単体テストを編集しているかどうかにかかわらずテストが実行されます。 –

1

また、それは、ファイルの変更にautmaticlyのPHPUnitを実行するコンソールツールですTDDRunner

を見てすることができます。また、PHPUnitを構成するには、1つのファイルのみを実行します。

/usr/bin/tddrunner --group=test 

さらなる詳細を提供するGerman articleがあります。

関連する問題