maven - 如何在@after 中使用 ITestResult 在 JUnit Maven 中扩展报告
问题描述
我正在尝试使用 JUnit Maven 在我的范围报告中捕获屏幕截图。
我能够生成报告,但 ITestResult 在 @After 的 JUnit Maven 中不起作用。如果有人可以帮助将代码从 TestNG 替换为 Junit,我将不胜感激。请在附件中找到我的代码。
@After public void tearDown(ITestResult result) throws IOException {
if(result.getStatus()==ITestResult.FAILURE){
String temp = Utility.getScreenshot(driver);
logger.fail(result.getThrowable().getMessage(), MediaEntityBuilder.createScreenCaptureFromPath(temp).build());
}
解决方案
我假设您使用的是 JUnit 5。
您必须基于接口实现自己的测试执行侦听器TestExecutionListener
。
在任何测试执行后将调用以下方法:
default void executionFinished(TestIdentifier testIdentifier,
TestExecutionResult testExecutionResult){
if(testExecutionResult.getStatus() == TestExecutionResult.Status.FAILED){
// your code here
}
}
推荐阅读
- ruby-on-rails - 为什么erb块连接块内容
- javascript - main.js 文件是如何创建的?
- c# - CSV Parser 加载的 C# 合并联接数据表(使用唯一 id)
- abap - 如何通过 ME_PROCESS_PO_CUST 更改 PO 交货日期?
- excel - Workbook_Open - 如何组合一个和多个代码?
- sql - 为什么变量比较运行缓慢?
- php - 如何在 YAML 中使用 API 平台过滤器?
- mysql - 如何加快从大型 CSV 文件创建 MySQL 表的速度?
- javascript - 为什么我的音频从 mp3 文件中不一致的位置播放?
- mysql - 无法将 sql 转换为 sqlite