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

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

Property-based testing — подход, где вместо конкретных примеров ты описываешь свойства, которые должны выполняться для любых входных данных. Фреймворк сам генерирует сотни случайных входных значений и проверяет свойство. Если нашёл контрпример — минимизирует его до самого маленького. В Go есть testing/quick в стандартной библиотеке (базовый) и gopter (мощнее). Пример свойства: "сортировка списка сохраняет его длину" или "decode(encode(x)) == x". Ловит edge cases, о которых ты бы не подумал.

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

Почему nil interface не равен nil pointer?