async-test
Async Test — узкий workflow для тестов, в которых есть sleep, retry, debounce, polling, timeout или фоновые задачи. Сначала он разделяет время как часть контракта и время как случайную деталь реализации: в первом случае предлагает управлять виртуальными часами, во втором — синхронизироваться по условию или завершению операции. Описание отдельно предупреждает, что продвижение таймера не равно обработке microtask-очереди, а callback с необрабатываемым assertion может дать ложноположительный тест. Навык применим к Go, Rust, Python и JavaScript-инструментам, перечисленным в исходнике, но не заменяет запуск конкретного test runner и проверку его API.
Для чего подходит
- Устранение flaky async-тестов
- Проверка debounce и retry
- Тестирование virtual clock и microtasks
Установка
Сначала прочитайте SKILL.md и scripts в исходном репозитории. Затем выполните команду в каталоге проекта:
npx skills add https://github.com/ecoma-io/litmus/tree/main/skills/async-test