Jenkins+Maven2+TestNG のセットアップがあります。自動化されたテスト スイート (機能テスト) をパラメーター化されたビルドとして実行するためのプラットフォームとして使用します。
各テスト スイートには、テストの開始前にユーザーが設定するいくつかの (~10 ~ 20) パラメーターがあります。これらのパラメーターは、テスト スイートごとに異なります。
現在、Jenkins で各テスト スイートのパラメーターを定義し、それらを ( <systemPropertyVariables>
surefire プラグイン プロパティとして) Maven2 に提供し、テストで使用しますSystem.properties[ '<param_name>' ]
(私たち (私たちのチーム) はテストに Groovy を使用しています)。
私たちのテストの数が増えるにつれて、この方法ではますます醜い pom.xml が作成されます。テストで構築された大きなテスト フレームワーク コードベースがあるため、単一の pom.xml を使用します。
今、私はこの方法を別の方法に変えたいと思っています。どれが正確かわかりません。アイデアを教えてください。
pom.xml の観点から、「単一パラメーター」の方法でパラメーターの受け渡しを実装したい:
- Jenkins のユーザー設定パラメーター (現在と同じパラメーター: param1=value1、param2=value2 など)
- ユーザーが [ビルド] ボタンをクリックすると、Jenkins は追加の手順を実行して、すべてのパラメーターを単一のファイル (csv、xml、など)/json/string ("param1=value1;param2=value2") に変換します。
- Jenkins は、この新しい集約パラメーター
Param
を Maven への新しい 1 つの一般的なパラメーターとして提供します (つまり、Jenkins 集約の後: Param="param1=value1;param2=value2"、surefire config: 内<generalParam>${Param}</generalParam>
) 。 - (異なる) テストはこれを解析し
Param
てパラメーター リストにし、通常どおりパラメーターを使用します。
Jenkins でそのような動作を実装する方法を教えてください。
前もって感謝します!