https://blogs.oracle.com/integration/how-to-use-litmus-to-create-oic-integration-unit-tests-automatically-and-run-them-to-catch-regressions
このエントリでは、数クリックで自動的にUnit Testを作成する、Oracle Integration Cloudに追加されたOracle Litmusという新機能が簡単に利用でき、Regression発見のためのテスト実行も簡単である点をご紹介します。Litmusは以下のユースケースをサポートしています。
- Integration CloudのユーザーがUnit Testを自動作成し、(通常はすでに本番適用する前に作成済みの統合に機能追加しようとして)作成した統合を変更する際に、テストを実行してRegressionを発見できるようにする
- Integration Cloudの新リリース作業の一環で、Integration CloudのQAチームが製品のRegressionを発見できるようにする
- お客様がOracleに記録済みのインスタンスを送信し、Oracleで当該インスタンスを再生して問題や不具合の再現できるようにする。全ての依存するエンドポイントや3rdパーティ製のアダプタが社内で利用できず、問題を再現できない可能性があるため、Litmusがなければ難しい。Litmusがあると、エンドポイントがシミュレートされるため、問題再現にあたってエンドポイントは必要ない。
Enabling Litmus
要件ごとに実行される統合を構築し、すべての手動テストを完了した状態で、本番環境に移行できる準備が整っているとしましょう。この時点で、Litmusテストを作成し、それをソースリポジトリにチェックインしたいと思うかもしれません。そうすれば、この統合を後で変更したいときに、Litmusテストを利用してRegressionを検出できるからです。この場合のRegressionは、例えばマッピング時に入り込んだ不具合のためにクライアントに送信しているレスポンスが変わったために失敗するというアサーションです。以下の手順でLitmusを有効化します。
- Oracle Litmusを有効化するには、OICの機能フラグを有効化する必要がある。この機能フラグをOnにするには、Oracle Supportに対してService Request (SR) を上げる必要がある。
- 機能フラグが有効化された後、開発者としてログインする。
- 統合のページに表示される統合リストから、統合のインラインメニューを開いて、Oracle Litmus > Enable Litmus Recording を選択する。
- アクティブ化の中でLitmusを有効化することもできる。
Creating a test using Litmus
Litmus有効後、以下の手順で、統合のテストを作成できます。- 一度統合を実行して、Litmus Test(記録とも呼ばれます)を作成する。
- 記録をチェックするには、Oracle Litmus > Recordingsに移動すると、レコーディングが表示される。直近に作成されたものが最初に表示される。
- 1個の統合に最大5つの記録を作成できる。
- 入力ペイロードの特定の値に応じて、統合は複数のパスまたは分岐を取ることができるので、異なる入力値を送信して複数のレコーディングを作成することができる。Primary Identifier(プライマリID)列を使用して、各記録を識別できる。
Exporting and Importing a test
記録作成後、以下の手順で統合のテストをエクスポート、インポートできます。- 開発者としてログイン
- 統合のページに表示される統合リストで統合のインラインメニューで[エクスポート]をクリック
- Include Litmus Recordingsのチェックボックスにチェックを入れる
- 記録のインポートを実施するには、右上の[インポート]のボタンをクリック
- 統合のアーカイブファイル(.iar)を選択し、Include Litmus Recordingsのチェックボックスにチェックを入れる
Playing back a recording
記録作成後、以下の手順で、特定の統合の記録を再生できます。- Oracle Litmus > Recordingsに遷移し、再生リストから再生したい記録を識別する。
- playback(再生)ボタンをクリックすると、以下のメッセージがバナーに表示される。
"Successfully invoked playback for recording RecordName_7. Please refer Track Instances page to view the Litmus instance details."(記録 RecordName_7の再生の呼び出しに成功しました。Track Instancesページを参照し、Litmusインスタンスの詳細をご覧ください)
- この時点で記録が非同期で再生されます。次のセクションでテスト実行の状態をチェックします。
Checking the test status
Litmus記録の再生後、以下の手順でテストステータスを確認できます。- Monitoring(モニタリング)> Tracking(トラッキング)を選択する。
- 実行リストからLitmusインスタンスを特定する。Litmusを実行している場合、画像に表示されているようにLitmus Instanceのタグが付く。
- 同様に上部にTest statusの表示がある。
- アサーションの詳細を表示するためには、右側のインラインメニューでOracle Litmus Resultをクリックすると、実際のレスポンスとの比較対象の記録として以前保存されたgolden input(期待する結果)を表示する。一致すればテストは成功、そうでなければテストは失敗である。接頭辞の違いを無視するべく、XMLを比較しており、文字列を比較していないことに注意されたい。
Using REST API to automate Litmus
LitmusはREST APIをサポートしているため、Litmusの操作の一部を自動化できます。よく使われるREST操作は、Litmus記録の再生です。詳細については、Litmusのユーザーガイドを参照ください。RESTでサポートされている操作の一部を以下に記します。- Litmus記録モードつきでの統合のアクティブ化
- Litmus記録モードの有効化/無効化
- (記録の有無に関わらず、統合とパッケージの両方を)インポート
- (記録の有無にかかわらず)エクスポート
- Litmus記録されたインスタンスの再生
- Litmus記録の更新
- Litmus記録の削除
- Litmus記録の取得
- Litmus記録の送信
0 件のコメント:
コメントを投稿