Size: a a a

JavaScript testing

2021 August 10

В

Вадим in JavaScript testing
То есть, это нормальное выполнение кода?

На су не переходим, потому что я сейчас на испыталке, а курьер есть около 40 е2е тестов. Типа, пришел стажёр, сказал - ваш код дерьмо, надо все переписать. Так себе ситуация, правда?
Даже демо сегодня проводил, где найтвотч легаси упало, а мой сайпрес - успешно быстро информативно выполнил все. Но недостаточно хорошо, чтобы сразу все бросить и внедрить в клауд инфраструктуру новый инструмент.
источник

Р

Роман in JavaScript testing
А они сами не понимают что от того что тесты быстрее бегают будет больше value?
источник

В

Вадим in JavaScript testing
Все всё понимают, но по факту нет особой разницы на первый взгляд (для менеджмента), а в aws это нужно встраивать сразу, да и паралельный запуск тестов тоже нужно решать
источник

MC

Max Chepil in JavaScript testing
Там пресет под капотом использовал тот же циркус, это точно было ещё при 26 версии jest pw preset. По этой причине начали использовать jest+pw выпиляв пресет.
источник

A

Alex in JavaScript testing
Жасмин же был под капотом
источник

MC

Max Chepil in JavaScript testing
У жеста, но не у пресета
источник

MC

Max Chepil in JavaScript testing
Пресет переопределял
источник

A

Alex in JavaScript testing
Так у пресета всего то версия 1.7.0 откуда там 26 ?
источник

SK

Sergei Kramskoi in JavaScript testing
Так вполне может быть, если время прохода тестов разное (что почти 99% так) и тестов меньше чем кол-во потоков. Просто длинные тесты ложатся в один какой-то поток, который и ограничивает время прохождения всего билда.

На самом деле кажется, что правильный вывод - что с именно "с тем количеством тестов", которые у вас сейчас есть, прогон для 4 потоков будет быстрее чем для 5. Но как только кол-во тестов изменится (даже если уменьшиться), то константно подобранное кол-во потоков, которое раньше давало лучший результат, может начать давать худший результат.

Кажется, что единственный правильный вариант - самостоятельно распределять тесты по потокам...
источник

A

Alex in JavaScript testing
Другое дело я не понимаю как в джсе сделать нормальный пейдж обжект без пресета и передачи пейджи в конструкторе
источник

A

Alex in JavaScript testing
Вернее драйвер обьекта
источник

A

Alex in JavaScript testing
В джавке делал статик драйвер и threadLocal контейнер
источник

A

Alex in JavaScript testing
А пресет эту проблему шикарно решает )
источник

MC

Max Chepil in JavaScript testing
Мы выпиляли пресет когда он был ещё 1.61 кажется
источник

A

Alex in JavaScript testing
А ну я с 1.4 сразу на 1.7 прыгнул )
источник

MC

Max Chepil in JavaScript testing
Пресет просто Пейдж в глобале создаёт, в этом и вся соль.
источник

SK

Sergei Kramskoi in JavaScript testing
Я пытался решить аналогичную проблему, чтобы подключить allure. Через "reporter" не зашло ничего - всегда были какие-то проблемы вида "скриншот не успевал сделаться, браузер закрывался раньше". В итоге накостылил логику генерации Allura через обработку эвентов в testEnvierment.
источник

MC

Max Chepil in JavaScript testing
Мы синхронизацию с  аллюр пилили уже на чистом джест 27 версии + pw, т.к. у джест циркус достаточно ивентов которые можно хендить с помощью аллюра
источник

A

Alex in JavaScript testing
Вот это и раздражает в джсе что нет какого-то стандартного решения
источник

SK

Sergei Kramskoi in JavaScript testing
Звучит неплохо, надо будет посмотреть какие там эвенты, спасибо 👍
источник