TestNG系列-第五章 测试方法、测试类和测试分组(续10)-监听方法调用和改变测试集的测试

19 监听方法调用

当TestNG将会调用任何测试方法(被注解了@Test的) 或者配置(有@Before和@After的注解的方法),监听器 IInvokedMethodListener  会通知我们。而要拿到通知的话,需要提供一个实现了接口 IHookable .的监听器:下面是一二JAAS的例子:

public class MyHook 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.callback(testResult);
      }
    };
  }
}

20 改变测试集进行测试
有时,在允许的时候,我们想要修改测试集xml中suite和test标签,同时没有必要改变测试集文件的内容。
TestNG可以让我们在运行的时候,通过监听器来修改测试集xml中suite和test标签。我们需要提供实现了   IAlterSuiteListener .接口的监听器。详情参考 Listeners section  
在允许的时候修改测试集名称的:
public class AlterSuiteNameListener implements IAlterSuiteListener {

    @Override
    public void alter(List<XmlSuite> suites) {
        XmlSuite suite = suites.get(0);
        suite.setName(getClass().getSimpleName());
    }
}
这个监听器可以用如下其中一种方法配置:
  • 通过在测试集xml文件中配置<Listener>标签
  • 通过Service Loader
而用注解@Listeners不会生效。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值