Testng IHookable 监听器

IHookable 监听器提供一种类似于AOP的方式,对测试method进行环绕编程。主要的应用场景:

1. 动态重写测试method (替换测试方法为空运行)

2. 动态决定是否跳过测试method (例如鉴权)

3. 自定义注解,例如@ignore, 当检测到有这个注解的时候,跳过测试执行

IHookable监听器定义的接口如下

 public void run(IHookCallBack callBack, ITestResult testResult);

其中IHookCallBack callBack的定义如下, 使用callBack.runTestMethod(testResult)执行具体的测试函数(@Test注解标注的方法)

 

示例代码如下

/**
 * 测试基类
 */
public class BaseTest implements IHookable {


    @Override
    public void run(IHookCallBack iHookCallBack, ITestResult iTestResult) {
        //从iTestResult中获取method    
        ConstructorOrMethod method = iTestResult.getMethod().getConstructorOrMethod();
    
        String name = method.getName();
        
        System.out.println("测试method是 "+name);
        System.out.println("开始执行~");
//这里是真正执行被测代码的地方,在这段代码里,你可以做很多很多事情
        iHookCallBack.runTestMethod(iTestResult); 
        System.out.println("结束~");
    }

}
import org.testng.annotations.Test;

public class OneTest extends BaseTest {

    @Test
    public void testxxx() {
        System.out.println("xxxx");
    }
}

现在执行测试方法,执行结果如下

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值