博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
TestNG的IHookable监听器详解
阅读量:4179 次
发布时间:2019-05-26

本文共 848 字,大约阅读时间需要 2 分钟。

在TestNG的执行过程中,有一种应用场景,就是根据当前执行的情况决定是否执行某个测试方法。即测试方法的执行有先决条件,满足条件则执行,否则就跳过执行。这种应用场景的典型应用是执行测试方法前进行授权检查,有授权则执行测试方法,没有授权则跳过执行。

IHookable监听器为这种应用场景提供了可能。IHookable监听器接口继承自ITestNGListener接口,其中定义了唯一的方法:

void run(IHookCallBack callBack, ITestResult testResult);
在TestNG的执行一个测试方法之前,首先调用IHookable监听器的run()方法。如果满足执行测试方法的条件,则在run()方法中再通过callBack参数的runTestMethod()方法调用测试方法,示例如下:

public class MyHookListeners implements IHookable { public void run(final IHookCallBack icb, ITestResult testResult) {   // Preferably initialized in a @Configuration method   mySubject = authenticateWithJAAs();   Subject.doAs(mySubject, new PrivilegedExceptionAction() {     public Object run() {       icb.runTestMethod(testResult);     }   }; }}
注意:在IHookCallBack参数中,旧版本的callback()方法已经被runTestMethod()方法所替代。

执行TestNG如下:

java org.testng.TestNG -listener MyHookListeners testng.xml

转载地址:http://kplai.baihongyu.com/

你可能感兴趣的文章
mysql的通用查询日志和慢查询日志
查看>>
IDEA中设置Run Dashboard(Services)
查看>>
Mysql5.7免安装安装教程 win10
查看>>
SpringBoot属性注入的几种方式
查看>>
Idea 解决SVN冲突
查看>>
Sptingboot AOP实现多数据源切换(Hive Impala oracle)
查看>>
dynamic-datasource动态多数据源整合hive impala
查看>>
Mybatis+impala插入超过510个字符串的字段报:HIVE_PARAMETER_QUERY_DATA_TYPE_ERR_NON_SUPPORT_DATA_TYPE
查看>>
SpringBoot项目启动完成自动打开网址
查看>>
记录一下把mapper.xml文件放在java的坑
查看>>
反射的使用
查看>>
使用Stream排序分组
查看>>
linux安装mysql 5.7.23二进制 安装jdk tomcat
查看>>
mysql总结 windows 版本
查看>>
POI 导出工具类
查看>>
HTTP请求工具类
查看>>
Ngnix+tomcat 集群以及session共享
查看>>
Nginx配置多个项目放在不同的tomcat中,共享同一个端口
查看>>
mysql的JDBC连接工具类
查看>>
ORACLE的JDBC连接工具类
查看>>