К
Коробка с питоном
@boxwithpython541 подп.
1.2Kпросмотров
1 января 2024 г.
statsScore: 1.3K
С наступившим 2024 вас! Сегодня расскажу про dirty-equals. Этот пакет используется для реализации более читаемых и декларативных проверок на равенство/соответствие, но в полной мере он себя раскрывает при написании тестов. Как обычно, приведу несколько примеров: from dirty_equals import * >>> assert 1 == IsPositive # Всё ок, число положительное >>> assert -2 == IsPositive # AssertionError >>> # Проверки можно комбинировать при помощи булевой логики >>> assert ['a', 'b', 'c'] == HasLen(3) & Contains('a') # Ок, список на 3 элемента, содержит 'a' >>> # Есть проверка словарей >>> assert {'a': 1, 'b': 2} == IsDict(a=1, b=2) >>> # Словари можно проверять частично >>> assert {'a': 1, 'b': 2, 'c': 3} == IsDict(a=1, b=2).settings(partial=True) >>> # Или вот так >>> assert {'a': 1, 'b': 2, 'c': 3} == IsPartialDict(a=1, b=2) >>> Можно проверять соответствие регуляркам >>> assert 'test@kiriha.ru' == IsStr(regex=r'^[^@]+@[^@]+\.[^@]+$') >>> # И так далее... Рекомендую заглянуть в документацию, там таких удобных штук ещё очень много! Ну и изучите исходники - написано не сложно, под капотом используется чуток метаклассов, для изучения темы - самое то! #библиотека
1.2K
просмотров
1303
символов
Нет
эмодзи
Нет
медиа

Другие посты @boxwithpython

Все посты канала →