Тестирование 🌀 Bulka

Тестирование

Strudel использует vitest для тестирования с 2 типами стратегий тестирования:

  • модульные тесты для детального тестирования
  • автоматизированные snapshot тесты для более широкого тестирования

Модульные тесты

Каждый package имеет папку test, где тесты написаны на основе файла за файлом, например util.test.mjs реализует все тесты для util.mjs.

Snapshot тесты

Snapshot тесты позволяют тестировать большие фрагменты данных. Strudel использует snapshot тесты для:

  • Примеров фрагментов: examples.test.mjs, используя фрагменты под @example внутри jsdoc комментариев
  • Примеров мелодий: tunes.test.mjs, используя все patterns в tunes.mjs

Файлы snapshot (.snap) содержат все haps в пределах определенного количества cycles для каждого тестируемого pattern. Они позволяют тестировать критические изменения в более широком масштабе. Если критические изменения преднамеренны, snapshots можно обновить с помощью npm run snapshot. Просто убедитесь, что проверили, что все затронутые patterns ведут себя как ожидалось.