4

Symfonyにはどのユニットテストフレームワークを使用していますか?

LimeまたはPHPUnit?それらを使用することの長所と短所は何ですか?

4

2 に答える 2

8

私の意見では、ここに私の頭に浮かぶいくつかのことがあります:

  • PHPUnitは、たとえば、
    • Selenium(PHPUnitはこれを使用して、実際のブラウザーを開いてサイトをテストできます)
    • 継続的インテグレーションのためのphpUnderControl
  • PHPUnitはXdebugとうまく連携して、コードカバレッジレポートを生成します
  • PHPUnitはより広く使用されています; これはおそらくより多くのサポートを意味します

しかし、私はsymfonyやlimeを扱っていないことに注意してください...
それでも、symfonyを使って作業している人を除いて、誰かがそれについて話すのを聞いたことがありません。別のフレームワークで(はい、これは起こります^^)


PHPUnitにないものの1つ:

  • 「false」ブラウザ(Seleniumを使用して実際のブラウザを開くことなく、アプリケーションに対してHTTPリクエストを実行できる)

ただし、一部のフレームワーク(Zend FrameworkはZend_Testコンポーネントを使用)はPHPUnitと統合(または使用)し、MVCへのデータの挿入と応答のフェッチを許可します。HTTPリクエストを発行する必要はありません。
symfonyがそれを許可するかどうかはわかりませんが、ZF/PHPUnitではそれは素晴らしいことです^^


(はい、symfony固有の答えではありません;しかし、私が言ったことのうち、そのフレームワークでまだ有効でなければなりません)

于 2009-08-06T20:59:26.157 に答える
6

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コードに取り入れたい場合は、プラグインをチェックして試してみる価値があります。 。

于 2009-08-07T18:39:20.153 に答える