TestNG数据提供者优化

时间:2015-11-24 20:27:42

标签: java performance testng testng-dataprovider

我们的数据提供器旨在根据传入的某个键值从Excel文件中检索单行数据。这适用于我们的测试套件,其中包含约15个测试,但在接下来的几个月内,测试将增加到几百,因此我担心每次测试访问excel文件的影响一次(是的,excel文件每个测试将有一行)。

从性能/资源的角度来看,这是一个有效的问题吗?如果是的话,如何衡量呢? (我在Mac上)。

使用@BeforeClass方法,我可以轻松地将excel文件中的所有数据加载到对象中,并让dataprovider从对象中检索数据。但同样,我不知道在内存中拥有那么多数据的开销是多少。

此数据是否有最佳做法?

1 个答案:

答案 0 :(得分:2)

如果您想使用dataprovider,那么这是唯一的实现方式,因为在调用任何测试之前,数据提供程序会读取文件并将数据加载到内存中并返回Object[][]

而且我不这么认为它会在内存中产生开销,当然如果你有数百/数千个数据,那么数据提供商是最好的做法,它不应该影响你的表现。