我们的数据提供器旨在根据传入的某个键值从Excel文件中检索单行数据。这适用于我们的测试套件,其中包含约15个测试,但在接下来的几个月内,测试将增加到几百,因此我担心每次测试访问excel文件的影响一次(是的,excel文件每个测试将有一行)。
从性能/资源的角度来看,这是一个有效的问题吗?如果是的话,如何衡量呢? (我在Mac上)。
使用@BeforeClass方法,我可以轻松地将excel文件中的所有数据加载到对象中,并让dataprovider从对象中检索数据。但同样,我不知道在内存中拥有那么多数据的开销是多少。
此数据是否有最佳做法?
答案 0 :(得分:2)
如果您想使用dataprovider,那么这是唯一的实现方式,因为在调用任何测试之前,数据提供程序会读取文件并将数据加载到内存中并返回Object[][]
。
而且我不这么认为它会在内存中产生开销,当然如果你有数百/数千个数据,那么数据提供商是最好的做法,它不应该影响你的表现。