0

我正在开发一个 maven 插件,用于在预集成测试阶段实例化和启动 vmware vapp 模板,确定集成测试的 IP,并在集成测试后阶段取消部署和删除 vapp。但是:我只想在所有集成测试成功后删除 vapp。

有什么方法可以在我的插件上下文中获取 surefire 或 failsafe 插件的状态?

感谢您的任何提示。

编辑1:

现在使用故障安全插件的 VerifyMojo 中的代码来稍后检查故障安全结果。但我仍在寻找更好的方法。没有像项目 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. 在集成测试之前创建/调用一个目标,以便通过将目标绑定到pre-integration-test.
  2. 在集成测试运行后创建/调用目标,以便通过将目标绑定到post-integration-test.

这完全按照您在问题中的描述。

如果您的集成测试失败,步骤 2) 将不会执行,因此,vapp 将不会被取消部署/删除。

于 2013-03-07T10:40:40.193 回答