Testing taste — промпт для ChatGPT: что делает и как установить
Набор правил для генерации тестов на TypeScript в ChatGPT и Claude.ai. Помогает писать предсказуемые проверки на Vitest и Playwright.
Открыть на GitHubЧто делает Testing taste
Промпт содержит набор рекомендаций для разработки на TypeScript с оценками уверенности по каждому пункту. Модели предписывается использовать vitest как основной раннер для модульных и интеграционных проверок, а файлы тестов сохранять рядом с кодом как *.test.ts. Сетевые вызовы перехватываются через msw, генераторы случайных чисел требуют фиксированных сидов, а таймеры замораживаются.
Интеграционные тесты базы данных по инструкции запускаются против реального Postgres в Testcontainers, поэтому лёгкая SQLite здесь исключена. Для сквозных сценариев применяется Playwright. Селекторы интерфейса разрешено привязывать только к ролям и именам доступности, но не к CSS-классам. Никаких искусственных пауз через sleep. Случайный порядок запусков помогает вовремя найти скрытое общее состояние между тестами.
Любой нестабильный тест расценивается как баг: его изолируют в тот же день и исправляют или удаляют в течение недели. Полный набор модульных проверок обязан укладываться в минуту на обычном ноутбуке.
Какие задачи решает
- задать правила написания тестов на TypeScript для нейросети
- перевести моки сетевых вызовов на
msw - настроить проверку UI-тестов по доступным ролям через
Playwright - организовать тестирование базы данных с Postgres в
Testcontainers
Примеры запросов агенту
- Напиши юнит-тесты на
Vitestдля сервиса оплаты с учётом этих правил. - Проверь диалоговое окно через
Playwright, находя элементы только по ролям и доступным именам. - Составь интеграционный тест базы данных с Postgres через
Testcontainers.
Как установить Testing taste
Как использовать
Вставьте текст в начало диалога или в инструкции проекта
Вручную: положить файлы
.claude/commands/prompts.csv.mdВопросы о Testing taste
Как установить Testing taste в ChatGPT?
В ChatGPT отдельная установка не требуется: скопируйте текст правил в системные инструкции или отправьте первым сообщением диалога. Для Claude Code файл размещают по пути .claude/commands/prompts.csv.md.
Что делает Testing taste?
Промпт задаёт прагматичные стандарты тестирования кода на TypeScript. Он фиксирует использование Vitest, запрещает прямые паузы через sleep и переводит перехват HTTP-трафика на msw.
Как промпт предлагает тестировать базу данных и интерфейс?
Тесты базы данных запускаются против реального Postgres в Testcontainers, без использования SQLite. Для сквозных проверок UI используется Playwright, где элементы выбираются строго по ролям доступности и именам, а не по CSS-классам.
Исходный текст
prompts.csv · CC0-1.0
# Testing taste of a pragmatic TypeScript team - Use vitest as the default test runner for unit and integration tests. Confidence: 0.90 - Keep test files next to the code they cover as *.test.ts. Confidence: 0.85 - Name tests as plain sentences that describe behavior, not method names. Confidence: 0.90 - Follow arrange, act, assert with a blank line between each phase. Confidence: 0.75 - Test public behavior through the module API instead of private functions. Confidence: 0.90 - Prefer real collaborators and in-memory fakes over mocks. Confidence: 0.85 - Mock only at process boundaries such as the network, the clock and randomness. Confidence: 0.90 - Intercept HTTP with msw instead of stubbing fetch by hand. Confidence: 0.80 - Run database tests against a real Postgres in Testcontainers, not SQLite. Confidence: 0.80 - Freeze time with fake timers and pass seeds to anything random. Confidence: 0.90 - Build test data with small factory functions that accept overrides. Confidence: 0.85 - Keep snapshot tests rare and small, and review every snapshot diff. Confidence: 0.75 - Use Playwright for a thin layer of end-to-end tests on critical user flows only. Confidence: 0.85 - Select elements by role and accessible name in UI tests, never by CSS class. Confidence: 0.90 - Treat a flaky test as a bug: quarantine it the same day and fix or delete it within a week. Confidence: 0.85 - Never use sleep in tests; wait for an explicit condition instead. Confidence: 0.95 - Keep the full unit suite under one minute on a laptop. Confidence: 0.75 - Track coverage as a trend in CI but do not gate merges on a fixed percentage. Confidence: 0.70 - Add property-based tests with fast-check for parsers and pure logic. Confidence: 0.65 - Write a failing regression test before fixing every reported bug. Confidence: 0.90 - Run tests in random order to catch hidden shared state. Confidence: 0.70
© f · CC0-1.0 · f/prompts.chat