多数のビジネスサービスを公開するREST APIを構築しました。ビジネスサービスは、他のプラットフォーム/ユーティリティサービスを呼び出して、データベースの読み取りと書き込みを実行したり、サービスの承認を実行したりできます。
これらのサービスをTomcatにWARファイルとしてデプロイしました。
このセットアップ全体を、回帰テストスイートとしても扱いたい統合テストスイートを使用してテストしたいと思います。
これとスイートの開発をスピードアップできるツールで統合テストを実行するための良いアプローチは何でしょうか?対処する必要があると思われる要件は次のとおりです。
私の仕事では、最近、構築したいくつかのRESTful APIをテストするために、いくつかのテストスイートをまとめました。あなたのサービスと同様に、私たちのサービスは、依存する他のRESTfulAPIを呼び出すことができます。 2つのスイートに分割します。
私は間違いなくこれを行うことをお勧めします。それは私たちにとって本当にうまくいきました。主な利点は次のとおりです。
このスイートでは、ピアサービスでデータを設定する必要があります。つまり、テストの作成には通常、より多くの時間がかかります。可能な限り、RESTクライアントを使用して、ピアサービスでデータを設定します。
このスイートでのテストは通常、作成に時間がかかるため、ほとんどのカバレッジをスイート1に配置します。スイート1のモックは実際のサービスとまったく同じように動作しない可能性があるため、このスイートには依然として明確な価値があります。
あなたのポイントに関して、これが私たちがしていることです:
将来的に詳細が明らかになる可能性があるので、私たちの techblog に目を離さないでください。
Arquillian という名前のツールをチェックすることもできます。最初はセットアップが少し難しいですが、統合テストの完全なランタイムを提供します(つまり、独自のコンテナーインスタンスを開始し、テストとともにアプリケーションをデプロイします)。 )そして問題を解決する拡張機能を提供します(RESTエンドポイントの呼び出し、データベースへのフィード、テスト後の結果の比較)。
Jacoco拡張機能は、後で表示できる、つまりSonarツールで表示できるカバレッジレポートを生成します。
比較的小規模なJEE6プロジェクトで使用してきましたが、なんとかセットアップできて、とても満足していました。