Что такое property-based testing в Go?

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

Property-based testing проверяет не конкретные примеры, а свойства: "для любого x, reverse(reverse(x)) == x". В Go есть gopter и rapid библиотеки. Генератор создаёт рандомные входные данные, ты проверяешь инварианты. Встроенный fuzzing — это по сути тоже property-based, но с фокусом на crash-поиск.

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

Найди баг: ctx, cancel := context.WithTimeout(ctx, 5*time.Second); resp, err := http.Get(url)