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