我正在开发一个maven插件,用于在预集成测试阶段实例化和启动vmware vapp模板,确定集成测试的IP以及集成后测试阶段,以取消部署和删除vapp。但是:我只想在所有集成测试成功后删除vapp。
有没有办法在我的插件上下文中获取surefire或failsafe插件的状态?
感谢任何提示。
编辑1:
现在使用failafe插件的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();
}
答案 0 :(得分:0)
你不能像你所描述的那样去做吗?
pre-integration-test
来启动VM。post-integration-test
来停止VM。这就是你在问题中的描述。
如果集成测试失败,则步骤2)将不会被执行,因此,vapp将不会被取消部署/删除。