0

統合テスト前のフェーズで vmware vapp テンプレートをインスタンス化して電源を入れ、統合テストの IP を決定し、統合テスト後のフェーズで vapp をアンデプロイして削除する Maven プラグインを開発しています。ただし、すべての統合テストが成功した場合にのみ、vapp を削除したいと考えています。

プラグインのコンテキストで確実またはフェイルセーフ プラグインの状態を取得する方法はありますか?

ヒントをありがとう。

編集1:

フェイルセーフ プラグインの VerifyMojo のようにコードを使用して、後で failsafeResult を確認します。しかし、私はまだより良い方法を探しています。プロジェクト API のような利用可能なビルド コンテキストはありませんか?

 public void verify() throws IOException, XmlPullParserException {
    FileInputStream fos = new FileInputStream(summaryFile);
    BufferedInputStream bos = new BufferedInputStream(fos);
    String encoding;
    if (StringUtils.isEmpty(this.encoding)) {
        getLog().warn(
                "File encoding has not been set, using platform encoding "
                        + ReaderFactory.FILE_ENCODING
                        + ", i.e. build is platform dependent!");
        encoding = ReaderFactory.FILE_ENCODING;
    } else {
        encoding = this.encoding;
    }
    Reader w = new InputStreamReader(bos, encoding);
    FailsafeSummaryXpp3Reader reader = new FailsafeSummaryXpp3Reader();
    final FailsafeSummary summary = reader.read(w);
    failsafeResult = summary.getResult();
    w.close();
    bos.close();
    fos.close();
}
4

1 に答える 1

0

あなたが説明したようにそれを行うことができませんでしたか?

  1. 目標を に結び付けて VM を開始するために、統合テストの前に目標を作成/呼び出しますpre-integration-test
  2. 統合テストの実行後にゴールを作成/呼び出して、ゴールを に結び付けて VM を停止しますpost-integration-test

これはすべて、質問の説明どおりです。

統合テストが失敗した場合、ステップ 2) は実行されないため、vapp はアンデプロイ/削除されません。

于 2013-03-07T10:40:40.193 に答える