Как тестировать concurrent код?

Middle+
524 просмотров
AFK Offer AI

Тестирование конкурентного кода — отдельная боль. Первый инструмент — go test -race, который ловит data races. Для проверки логики используй каналы для синхронизации в тестах: отправляй сигнал, когда горутина дошла до нужной точки. sync.WaitGroup помогает дождаться завершения горутин. Для стресс-тестов гоняй тесты в цикле: go test -count=100. Ещё полезен t.Parallel() для параллельного запуска подтестов. Главное правило: если баг воспроизводится в одном из ста запусков — это всё ещё баг.

Следующий вопрос

Что такое materialized view?