Что такое hypothesis для тестирования?

Senior
157 просмотров
AFK Offer AI

hypothesis — property-based testing. Вместо конкретных примеров описываешь свойства: @given(st.integers(), st.integers()) def test_add_commutative(a, b): assert add(a, b) == add(b, a). Hypothesis генерирует сотни случайных входных данных и ищет контрпримеры. Стратегии: st.text(), st.lists(), st.builds(MyClass). При нахождении бага — минимизирует пример до простейшего. Сохраняет failing examples в базу. Отлично ловит edge cases которые ты бы не придумал: пустые строки, MAX_INT, Unicode. Дополняет, не заменяет unit-тесты.

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

Как работать с SSL/TLS в Python?