t.me/atinfo_chat Telegram группа по автоматизации тестирования

TestNg запуск 10% тестов с рандомной выборкой

testng
Теги: #<Tag:0x00007f9c4d074388>

(Сергей Кузьмин) #21

спасибо - я в своем проекте добавил инвентаризацию и нескольно способов (работающий и не работающийcapture_test_inventory


ваш IMHO какой то супер сложный объясните как оно делает свое случайное дело…спасибо еще раз


#22

+1, это гораздо более лаконично. Можно даже без стримов. Только Collection.shuffle() + List.sublist()


(Sergey Korol) #23

IMethodInterceptor - коробочный интерфейс TestNG, который позволяет корректировать тестовый набор до непосредственного запуска. Вызывается он лишь единожды. Но этого достаточно, чтобы произвести все необходимые манипуляции.

На вход нам поступает список методов, которые собираются быть запущены.

shuffle - классический метод внутренностей самой Java, позволяющий перетасовать содержимое списка в произвольном порядке.

ceil - еще один метод стандартной библиотеки Math в Java. При помощи него мы берем 10% от размера коллекции, округляя в большую сторону.

Ну и при помощи стрима, мы лимитируем уже рандомизированный набор до 10% элементов. Хотя, как отметили выше, тоже самое можно было и через sublist сделать.


(Сергей Кузьмин) #24

a как передать percenage в MethodInterceptor ? где когда он инициализируется ?


(Sergey Korol) #25

Да как угодно - константа, конфиг, sys props, env vars. Вариантов - море.

Как и любой другой слушатель TestNG - подключается в build файле, или конфиге. Код не упоминаю, поскольку не все интерфейсы можно подключать из кода.

Ну и ссылки я не просто так вставляю в сообщения.


(Сергей Кузьмин) #26

спасибо - непривычно выглядит. я тоже нашел ссылкy с примерами . пока на мой взгляд многовато moving parts