🧱 Суть
В тестах нет строгого стандарта именования, но есть несколько устоявшихся стилей, которые используют в командах.
Главная цель названия теста – описать поведение.
📦 Проблема
1. Разные стили в коде
it('should return user when request succeeds', () => {})
it('returns user on success', () => {})
it('given valid session, when called, then returns user', () => {})Код становится несогласованным.
2. Плохие названия не дают смысла
it('test getUser', () => {})
it('works', () => {})
it('check error', () => {})Непонятно, что именно проверяется.
✅ Решение
Использовать один стиль именования во всём проекте.
Основные подходы:
1. Behavior стиль (через should)
it('should return user when request succeeds', () => {})2. Современный стиль (рекомендую)
it('returns user when request succeeds', () => {})
it('throws error when request fails', () => {})3. BDD стиль (Given / When / Then)
it('given valid session, when getUser called, then returns user', () => {})Используется реже из-за перегруженности.
💻 Код
Хорошие тесты:
it('returns null when user is not authenticated', () => {})
it('throws error when supabase returns error', () => {})
it('calls getUser once', () => {})🎯 Вывод
- нет жёсткого стандарта именования тестов
- главное – читаемое описание поведения
- чаще всего используют
shouldили простой факт без него - плохие названия = потеря смысла теста
- лучше выбрать один стиль и придерживаться его