🧪 Группировка сабтестов
Обычно для тестов хватает простого t.Run. Но если проект растёт, и кейсов становится десятки, без группировки легко утонуть в дублировании и путанице.
Зачем группировать?
— Разные setup/teardown для подмножеств тестов
— Логическая структура (например, тесты по эндпоинтам API)
— Управление параллельностью выполнения
Простейший пример:
func TestAPI(t *testing.T) {
t.Run("User", func(t *testing.T) {
t.Run("Create", func(t *testing.T) { /* ... */ })
t.Run("Delete", func(t *testing.T) { /* ... */ })
})
t.Run("Order", func(t *testing.T) {
t.Run("Create", func(t *testing.T) { /* ... */ })
t.Run("Cancel", func(t *testing.T) { /* ... */ })
})
}
➡️ Источник
🐸 Библиотека Go-разработчика
#GoDeep