🧱 Суть

В тестах нет строгого стандарта именования, но есть несколько устоявшихся стилей, которые используют в командах.

Главная цель названия теста – описать поведение.

📦 Проблема

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 или простой факт без него
  • плохие названия = потеря смысла теста
  • лучше выбрать один стиль и придерживаться его

🔗 Связано