TestNG中在一个test标签中的多个测试类之间共享中间数据的方法

本文介绍了在TestNG的标签内,如何使用ITestContext接口在多个测试类之间共享动态生成的中间数据。通过Producer类生产数据,并在Consumer类中进行消费,实现跨测试类的数据传递。
摘要由CSDN通过智能技术生成

在TestNG的一个测试suite中,在一个<test>标签中可以包含多个测试类,那么这些测试类之间如何共享动态中间数据呢?

比如在一个测试类Producer中,一个测试方法产生了中间数据groupIds;而在后续测试的另一个测试类Consumer中,一个测试方法要访问这个中间数据。测试套件如下:

...
<test>
  <classes>
    <class name= "Producer"/>
    <class name= "Consumer"/>
  </classes>
</test>
...

在TestNG的API中,有一个大家耳熟能详的ITestContext接口。一个ITestContext对象就代表一个<test>标签内的上下文。因而在一个<test>中的多个测试类之间共享动态数据,可以使用ITestContext。

生产数据的测试类Producer:

...
public static final String SERVER_GROUPS = "SERVER_GROUPS";
public List<String> groupIds;//set in one test method

@AfterClass(alwaysRun = true)
public void reserveGroupIds(ITestContext ctx) {
    ctx.setAttribute(SERVER_GROUPS, groupIds);
}
...

消费数据的测试类Consumer:

...
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值