5

これは非常に簡単な質問です。満足のいく答えが得られなかったので、これを投稿します。最初の背景:WebアプリケーションをビルドしてサーバーにデプロイするJenkinsジョブがあります。サーバーには時間がかかります(5〜10分程度)。アプリケーションをテストする単体テストケースの実行を準備するために、ジョブをセットアップ(または必要に応じて既存のものを変更)したいと思います。私は次のようなアプローチを考えています。代替案を検証または提案していただきたいと思います。

  • 一定時間待機するAntターゲットを用意する
  • URLにpingを送信し、アプリの可用性を確認するカスタムAntターゲットを用意します

よろしくお願いします。-Vadiraj。

4

1 に答える 1

6

一定時間待機すると、選択した時間が短すぎる (ビルドが失敗する) か、長すぎる (ビルド時間の無駄) という問題があります。そのため、アプリが利用可能かどうかを確認したほうがよいと思います。

Selenium テストでも同様のことを行いました。Selenium Remote Server が起動するまで待たなければなりませんでした。waitforエレメントを使用しました。詳細なドキュメントについては、こちらを参照してください。

これは私のant-Targetの簡素化されたバージョンです:

<parallel>
  <sequential>
    ... Start web application server ...
  </sequential>
  <sequential>
    <waitfor maxwait="10" maxwaitunit="minute">
      <socket server="localhost" port="8080" />
    </waitfor>
    <junit>
    ...
    </junit>
  </sequential>
</parallel>

Web アプリがデプロイされる前にサーバーが利用可能である場合は、HTTP エラー コードを確認するhttp代わりに、条件を使用してみることができます。socket条件はここに文書化されています。

于 2012-07-26T07:41:14.127 に答える