2011-10-27 11 views
1

Yiiアプリケーションで単体テストを実行するにはどのような方法がありますか? PHPUnitテストを実行するYii Framework

はこれまでのところ、私は彼らにこの方法をテストされています:

コマンドプロンプトを開き、別の方法があるかどう

> cd C:\WHEREVER MY APP IS\protected\tests 

> phpunit unit/TestingTest.php 

は今、私が思っていました。私はテストの世界に新しいことを話していますが、すべてのテストを1つずつ実行するよりも良い方法があるはずです。すべてのヒントをありがとう、私は質問がかなりばかだと確信しています!しかし、おそらくそれは他の誰かに役立つことが判明しました。

EDIT(@デビッドハークネスコメントに基づく) [OK]を、今私は知っている私はこの

PHPUnitのCを行うとき:\ MY APPは、\テスト\ユニット

を保護し、\されている場所

TestingTest.phpファイル内のすべてのテストが実行されます。私の問題は、そのユニットフォルダ内に、TestingTest.phpと の2つのファイルがあることです。TestingTest2.php Testing2Test.php。最初のテスト内のテストのみが実行されます。何か案は?

+1

ファイルを指定せずにそのディレクトリで 'phpunit'を実行しようとしましたか?それは私がYii以外のプロジェクト以外でやっていることです.Yiiとは違うとは思いません。 –

+0

@David Harkness、私の質問を編集しました! – Soph

+0

Yiiで自動化されたPHP単体テストを実行する方法に関するブログ記事を書きました。 参照:http://geeks.appbackr.com/61971101 – philipp

答えて

3

デフォルトでは、PHPUnitは<foo>Test.phpという名前のすべてのファイルをスキャンします。つまり、TestingTest2.phpは無視されます。あなたは、Testing2Test.phpにファイルの名前を変更

phpunit C:\WHEREVER MY APP IS\protected\tests\unit\*.php 

(これはしかし作品わからない)ファイルを検索するために使用したり、あなたのテストを一致させる必要があり、ファイル名のパターンを指定phpunit.xml configuration fileを作成することができます。しかし、すべてのファイルがTest.phpで終わるように名前を変更すると、もっと幸せになれます。

私は通常cdをルートテストディレクトリに入れます - bootstrap.phpphpunit.xmlを含むディレクトリです。そうすれば、PHPUnitは常に現在のディレクトリを検索するので、それらのファイルを見つける方法を伝える必要はありません。

+0

これはまさに私の問題でした!コンベンション上の大会!ありがとう@ダビッド! – Soph

+1

プロジェクトのルートフォルダから実行できます。オプション '-c protected \ tests'は設定パスを示します。すべてのユニットテストを実行するには、 'phpunit -c protected \ tests protected \ tests \ unit' – Elvan

関連する問題