Ну и в целом хочется немного поговорить про развитие и популярность тест-раннеров.



jest многие годы является самым популярным вариантом. К тому же с огромным (для опен-сорс проекта) бюджетом — $75 000, который при это не тратят (лишь 9000 выплачено за 5 лет). При этом нельзя сказать, что фреймворк стагнирует, выходят патчи, фичи какие-то добавляются, но фундаментальные проблемы, вроде того же ESM, не могут решить годами. Кристоф Наказава (один из топовых контрибьюторов в джест) даже пытался найти контрактора для решения этих проблем, но, видимо, героя не нашлось.



Второй по популярности — mocha. Помните, был такой? Оказывается не только был, но и есть! И в целом даже неплохо себя чувствует. А ещё у них тоже, внезапно, такая же сумма на опен коллективе. Правда, тратили деньги поактивней — около 38к. Есть, кстати, ишью Delete my code, в котором ТиДжей Головайчук, автор проекта, жалуется на то, что у проекта больше денег, чем у него на счетах в принципе и при этом никто этими деньгами не делится. После этого ему выплатили $4 000. Про развитие проекта: есть какие-то коммиты, но мне, как стороннему наблюдателю, сложно оценить его конкурентноспособность.



Ну и третий сильный игрок — vitest, который стремительно набирает популярность. И в общем-то успешно решает все те проблемы, для которых jest пытались найти контрактора. У них всё очень непрозрачно с бюджетом, но есть явный козырь в виде поддержки со стороны vue и vite.



На самом деле из популярных есть ещё uvu (у него даже чуть больше установок, чем у витеста), но, кажется, у него нет будущего.



И ещё есть встроенный в ноду тест-раннер, но его будущее тоже не очень прозрачно.



Вместо резюме: меня впечатляет темп развития витеста, посмотрим что будет через год-другой, а история с финансированием проектов в очередной раз заставляет грустить.



P.S. Кстати, у Кристофа есть статья Building a JavaScript Testing Framework, в которой он рассказывает как устроены тест-фреймворки и в общем-то пишет имплементацию, основанную на внутренних пакетах джеста.