1

JUnit、TestNG、およびSpringテストには、拡張メカニズムとしてテスト実行リスナーがあります。テスト実行リスナーは、フレームワーク開発者やツール開発者にとって関心のある低レベルの機能のようです。

テスト実行リスナーが役立つ主なユースケースは何ですか?それらはアプリケーション開発者に役立ちますか?

4

2 に答える 2

4

testngの場合、listnersは私にとって最も注目に値するものです。testNgリスターを使用すると、テストメソッドの内容を単純化し、サーバーの起動、ユーザー登録、テストに必要なアーティファクトの入力を使用して各テストを管理できます。また、各テストサイクルの環境をクリーンアップします。

各リスナーレベルで次の操作を実行しているので、テストの傍らでそれらについて気にする必要はありません

IExecutionListener

   - onExecutionStart()
         Emma instrumentations
         Server start 
  - onExecutionFinish()
         Server Sutdown
         Emma report generation
  • ISuiteListener 設定環境プロパティex-キーストアパス

       Populate Users.
    
  • ITestListener

    • 開始時

       Artifact Deployment
      
    • 終了時

        Artifact Clean up
      
  • IReporter

  • TestNgレポートの生成、確実なレポートの生成、ダッシュボードのデータのエクスポート

于 2012-10-23T06:46:23.480 に答える
2

JUnitの場合、リスナーはレポートの方法として設計されており、内部的にはこのように使用されます。したがって、実行されたテストの数、成功、失敗、エラーなどを表示できます。これは、 maven-surefireなどの外部でも使用されます。例として、 JUnit4RunListener.javaを参照してください。

別の用途は、XMLなどの別の形式で出力することです。他のフレームワークの主なユースケースは同じだと思います。

JUnitでは、リスナークラスは、Dharshanaがtestngでテストリスナーを使用する方法、つまりセットアップ/ティアダウンとして使用されることを意図していません。リスナーで使用されるオブジェクト(DescriptionFailureResult)は不変であり、テストクラス自体への直接アクセスを推奨しません。TestNGについてはよくわかりませんが、Cedricの方がいいでしょう。

それらはアプリケーション開発者にとって有用ですか?テストの設定方法によっては、そうなる可能性があります。これらはテストのコンテキストでのみ使用されるため、改善できる場合は、先に進んで使用してください。1つのユースケースは、JavaDocを使用したJUnitテストレポートの強化です。私の回答を参照してください。答えを要約すると、開発者が特定のバグのテストを追加した場合、そのテストに注釈を追加して、バグにリンクすることができます。カスタムRunListenerがあり、注釈内のすべての情報をまとめて収集し、最終的な顧客向けのレポートを作成します。

于 2012-10-23T07:20:46.867 に答える