Оптимизация провайдера данных TestNG

Наш поставщик данных предназначен для получения одной строки данных из файла Excel на основе некоторого переданного значения ключа. Это отлично работает для наших наборов тестов, в которых есть ~ 15 тестов, но в течение следующих нескольких месяцев тесты вырастет до пары сотен, поэтому у меня есть опасения по поводу влияния доступа к файлу Excel один раз для каждого теста (да, в файле Excel будет одна строка для каждого теста).

Действительно ли это серьезное беспокойство с точки зрения производительности / ресурсов? если да, то как это измерить? (Я на Mac).

Используя метод @BeforeClass, я мог легко загрузить все данные из файла Excel в объект и получить данные из объекта поставщиком данных. Но опять же, я бы не знал, что будут делать накладные расходы, связанные с наличием такого количества данных в памяти.

Есть ли лучшая практика для этих данных?


person Greg    schedule 24.11.2015    source источник


Ответы (1)


Если вы хотите использовать поставщик данных, то это единственный способ реализовать, потому что перед вызовом любого вашего теста поставщик данных считывает файл и загружает данные в память и возвращает Object[][].

И я не думаю, что это приведет к накладным расходам в памяти, и, конечно, если у вас есть сотни или тысячи данных, то Data Provider - лучшая практика, и это не должно влиять на вашу производительность.

person Amit Bhoraniya    schedule 03.02.2016