16 марта 2026 г. (изменено: 16 марта 2026 г.)

Канал: @cherkashindev

260 9

Недавно фиксил баг у себя в блоге, и заодно нужно было покрыть тестами парсер тегов для телеграм-постов.

В какой-то момент вспомнил, что в Node.js уже есть встроенный тест-раннер. Решил не тащить лишние зависимости и просто проверить, насколько он вообще живой.

В итоге оказалось, что для таких задач — более чем ок.

https://github.com/acherkashin/acherkashin.github.io/blob/main/tests/telegram-tags.util.test.ts

import assert from 'node:assert/strict';
import test from 'node:test';
 
test('extracts multiple hashtags from a single line', () => {
  const tags = extractTelegramTagsFromMarkdown('#frontend #testing #astro');
 
  assert.deepEqual(tags, ['frontend', 'testing', 'astro']);
});

Что ещё приятно — тесты можно писать на чистом TypeScript без установки дополнительных пакетов.

Для утилит, парсеров, серверного кода и прочих небольших юнит-тестов этого раннера вполне хватает.

Но если у вас фронтенд-проект и нужны тесты компонентов, браузерное окружение, снапшоты, расширенные матчеры и привычная экосистема вокруг раннера, то Jest или Vitest тут ощущаются заметно сильнее.

Ещё по теме:

А вы чем гоняете тесты?

🔥 — Vitest
👍 — Jest ❤️ — Что-то другое (напишу в комментариях)

🔥 6 4 👍 3