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

本文档探讨了在TestNG测试套件中,如何在不同<test>标签的测试类之间共享动态中间数据。通过ISuite接口和Reporter类,可以实现跨测试共享数据。详细介绍了在Producer测试类中设置数据,以及在Consumer测试类中获取数据的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在TestNG的一个测试suite中,可能存在多个<test>,那么在不同的<test>标签内部的测试类,其之间如何共享动态中间数据呢?

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

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

这个问题在TestNG的文档和JavaDoc中都没有明确的提及。但是在分析TestNG的JavaDoc的过程中,通过查找IAttributes的子接口,ISuite接口映入眼帘。
在TestNG的JavaDoc中,一个ISuite对象就代表一个<suite>标签内的上下文。因而在一个<suite>中的多个<test>标签,可以通过ISuite对象共享数据。

回到TestNG的文档,我们在5.19依赖注入章节中,可以看到一个TestNG标注与可注入参数类型表,如下所示。但是,我强烈怀疑这个表的正确性,其中的XmlTest应该就是ISuite,因为想象不出

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值