Symfonyにはどのユニットテストフレームワークを使用していますか?
LimeまたはPHPUnit?それらを使用することの長所と短所は何ですか?
Symfonyにはどのユニットテストフレームワークを使用していますか?
LimeまたはPHPUnit?それらを使用することの長所と短所は何ですか?
私の意見では、ここに私の頭に浮かぶいくつかのことがあります:
しかし、私はsymfonyやlimeを扱っていないことに注意してください...
それでも、symfonyを使って作業している人を除いて、誰かがそれについて話すのを聞いたことがありません。別のフレームワークで(はい、これは起こります^^)
PHPUnitにないものの1つ:
ただし、一部のフレームワーク(Zend FrameworkはZend_Testコンポーネントを使用)はPHPUnitと統合(または使用)し、MVCへのデータの挿入と応答のフェッチを許可します。HTTPリクエストを発行する必要はありません。
symfonyがそれを許可するかどうかはわかりませんが、ZF/PHPUnitではそれは素晴らしいことです^^
(はい、symfony固有の答えではありません;しかし、私が言ったことのうち、そのフレームワークでまだ有効でなければなりません)
Limeは、はるかに単純なテストフレームワークであり、使用方法に応じて、良いことも悪いこともあります。
symfonyライブラリ自体は、独自のテストフレームワークであるLimeを使用してコードベースをテストします。symfonyの本から:
これは、Test :: More Perlライブラリに基づいており、TAPに準拠しています。つまり、テスト結果は、テスト出力の読みやすさを向上させるように設計されたTestAnythingProtocolで指定されたとおりに表示されます。
symfonyのドキュメントが主張するように、limeフレームワークが他のPHPテストフレームワークよりも「軽量」であるという声明を保証することはできませんが、それがあなたのsymfonyプロジェクトに組み込まれていて、symfonyコマンドラインツールでうまく機能することは本当に好きです追加の構成。特にクールなことの1つは、symfony内のlimeテストが、独自のデータベース、symfonyキャッシュ(各テストセッション中にクリアされる)、および環境変数を持つ「テスト」環境内で実行されるように設定されていることです。これは、機能テスト(基本的な単体テストではなく、モジュール/アクションでのサーバー応答とHTML出力のチェック)を実行する場合に便利です。また、ライムはとてもシンプルなので、拾いやすく理解しやすいのも気に入っています。
Pascalは、PHPUnitがはるかに広く使用されており、symfony以外のプロジェクトで使用できることは完全に正しいです。そのためのプラグイン、PHPUnitsymfonyプラグインもあります。symfonyアプリの開発中に簡単なテストをすぐに作成したい場合は、limeを使用することをお勧めします。しかし、時間に余裕があり、symfonyの世界の外でこれらのテストスキルを使用したい場合、または既存のPHPUnitテストをsymfonyコードに取り入れたい場合は、プラグインをチェックして試してみる価値があります。 。