java - 仅当我的 @Test 通过时才运行 @AfterMethod,而不是在 @Test 失败时运行
问题描述
我的afterMethod
包括:
@AfterMethod(groups = { "Regression" })
public void afterMethod() {
// Setting driver used to false as this test case is pass
driverUsed.put("supportDriver", false);
System.out.println("Test case is pass");
}
我把司机放在哪里false
但我只想afterMethod
在我@Test
通过时运行它,而不是在@test
失败时运行。
解决方案
引用TestNG 的文档:
任何
@AfterMethod
方法都可以声明一个类型为 的参数ITestResult
,这将反映刚刚运行的测试方法的结果。
您可以使用此参数来检查测试是否成功:
@AfterMethod(groups = { "Regression" })
public void afterMethod(ITestResult result) {
if (result.getStatus() == ITestResult.SUCCESS) {
// Setting driver used to false as this test case is pass
driverUsed.put("supportDriver", false);
System.out.println("Test case is pass");
}
}
推荐阅读
- python - Django 将方括号和引号添加到 charfield 输入
- windows - Makefile 未读取时间戳变量
- swift - 为 UIButton 添加左右填充
- r - ROC-AUC 图呈肘形
- javascript - 我如何向 javascript 维护人员询问某个功能?
- javascript - 异步调用后在 React 中重新渲染状态
- c - 在C中的for循环中初始化迭代器变量
- reactjs - 在 useEffect 中使用 AsyncStorage 返回未定义?
- c# - 尝试运行依赖于框架的构建时找不到 libhostpolicy.so
- sharepoint - 从另一个共享点列表中获取项目以在 Microsoft Flow 中发送电子邮件