Есть ли подобие TestNG фреймворка для JS

Начинаю разбираться в автоматизации на JS, сейчас стоит выбор тестового фреймворка, подскажите если ли какое то подобие TestNG только для JS?
По большей части можно и без альтернативы, основная задача запускать тесты в несколько потоков\один тест много раз, в testNG это позволяет добавить параметры threadPoolSize = 6, invocationCount = 6 в аннотацию @Test, как это можно сделать\реализовать на JS?

Смотри в сторону mocha

Мы используем Karma.

Много тестов в паралель:

  1. mocha + mocha.parallel - рабочее решение но прийдется пожертвовать многими фичами mocha поскольку mocha.parallel самописное решение с кучей недороботок
  2. ava - паралельные и последовательные тесты из коробки (минус нету BDD, но есть кастомная либа ava-spec которая добавит BDD только без вложеностей по describe)
  3. jest - есть возможность запускать тесты паралельно через it.concurrent но работает это довольно глючно и с ошибками по логике работы по before и after (и пока фиксить эти проблемы они не собираются)

Один тест много раз паралельно:
это для нагрузочного тестирования?
Если да, то тут без особых конкурентов у JS:

  1. k6.io - все и сразу из коробки + нормальная документация
  2. artillery.io - для легкого старта тестирования нагрузки (не большой проект с неочень высокими требованиями к нагрузочному тестированию)

Если бы я начинал проект с нуля то наверное выбрал бы: AVA и k6
ПС. Если нужно запускать ГУИ тесты в паралель то еще есть проект TestCafe

4 лайка

Спасибо за подробную инфу.

Привет, спасибо за ответ.

А подскажи по AVA - сколько тредов максимально паралелил? Как пригружает машинку на которой запускается? Сложно ли кастомизировать его?

Я поглядываю на него, но еще не использовал.

AVA я тоже не использовал как рабочий инструмент, просто просматривал как вариант когда хотели спрыгнуть с mocha

Пофакту у него все тесты написаные в одном файле выполняются паралельно (это его дефолтное поведение), поэтому их все нужно писать как независимые. Однако у него есть возможность заставить их работать последовательно.

Насчет нагрузки на машину не скажу - не проверял

По скорости выполнения - медление чем mocha+mocha.parallel (есть значительная задержка на старте тестов 2-3 сек. Если в наборе есть медленный тест то это не очень накладно и заметно, но если все тесты набора пробегают 1-2 сек то эта задержка критична)

По кастомизации не знаю - поскольку проверял на нем самые простые тесты чтобы понять как работает в целом и не углублялся в детали.

Из того что не понравилось - это before и after которые действуют только на весь набор тестов и нельзя их приминять отдельно для вложеных дескрайбов. Также нормальный шаринг контекста before и after между it у меня не получился, ходя судя по доке он есть.

1 лайк