TGViewer
Спасибо, я лайкнул Спасибо, я лайкнул @thxilikeit · 230 subscribers
Post #115 167
Юнит-тесты не нужны! (...больше?)

Каждый раз, когда заходит речь о тестировании, где-то обязательно всплывает пирамида тестирования — и кто-то с умным видом говорит: «юниты — это база, щегол, пиши».

Ладно, бекендеров можно понять: у них тесты давно встроены в культуру. Без них тимлид просто перестанет тебя уважать и не прожмёт апрув. Но как объяснить фронтендерам, что тесты — это не пытка, а инструмент?

С развитием фронтенд-тулинга ситуация, к счастью, меняется.
Тот же TypeScript и появление мета-фреймворков (Next.js, Remix и т.д.) превратили классическую пирамиду в кубок тестирования 🏆 — концепт от Кента Доддса.
Благодаря статической типизации можно меньше писать юнитов и сосредоточиться на интеграционных тестах — ведь именно там живут связи и самые критичные сценарии.

🔗 The Testing Trophy and Testing Classifications
«Кубок тестирования и классификация тестов» 🏆
Кент Доддс предлагает заменить пирамиду тестирования на «кубок»: меньше юнитов, больше интеграционных тестов, а E2E — как вершина уверенности в системе.
#testing #frontend #kentdodds

При этом E2E-тесты всегда остаются в меньшинстве.
Аргумент классический: дорого, долго, муторно.

Но, кажется, больше нет!

Недавно я уже писал про тулинг для LLM и про MCP — протокол взаимодействия моделей с инструментами.
Теперь представьте: вы прикручиваете браузерный движок (Playwright, Puppeteer и тд) к LLM — и модель сама заходит в браузер, смотрит страницу и пишет на неё тесты. 🤯


Так мы и сделали.
У нас был один монолит без тестов, и было страшно его трогать. Решили написать смоуки, но чисто на вайбе — через LLM.

За неделю, в неспешном режиме, всё было готово. И даже для меня — душнилы на ревью — код автотестов оказался на удивление приемлемым.


💡 Выводы после эксперимента:

Нет, полностью автоматизировать процесс без участия человека не выйдет.
Но создать гибрид человек–LLM–браузер — реально.

Ты просишь модель открыть браузер, сам выставляешь нужное состояние, а потом — просишь перевести всё это в тест.
Ваши сознания буквально сливаются, как в фильме про кайдзю 🦖: вы видите одно и то же, понимаете контекст и друг друга.

Главное — стоимость тестов реально падает.
Ты меньше устаёшь, не переключаешь режимы (писатель, наблюдатель, редактор), а код ревью всё так же может делать другой человек.


А ты что думаешь?

💯 — согласен, юниты больше не нужны, e2e и так всё покрывают
🗿 — не согласен, если каждый модуль протестирован, то и вся система норм
Kentcdodds The Testing Trophy and Testing Classifications How to interpret the testing trophy for optimal clarity
  • 👍 3
  • 💯 3
  • 🗿 3
  • 🤔 1
More from @thxilikeit
  1. Jun 20, 2026Если не можешь остановить бесконечную генерацию слопа — возглавь её, как грится. Оказалось…
  2. Nov 7, 2025Директивы захватывают React-экосистему! 🎯 JavaScript годами жил с одной директивой — use…
  3. Nov 5, 2025🎭 Лебедь, рак и щука: три философии React Осень в React-экосистеме как никогда напоминает…
  4. Oct 31, 2025Искать сеньера в конце 2025-го, конечно, впечатляет. Процентов 80 кандидатов на сеньорские…
  5. Oct 30, 2025Тайлер Виген — человек, который превратил статистический троллинг в искусство. 🖼 С 2014 г…
  6. Oct 29, 2025🎯 А вот и гайды для Next.js подъехали: как запустить фреймворк внутри ChatGPT Next.js не…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →