Курс Python → Тестирование времени с Freezegun

Библиотека freezegun предоставляет удобные инструменты для тестирования программ, которые зависят от текущей даты и времени. Она позволяет «замораживать» время на определенной точке, что позволяет программисту создавать стабильные и предсказуемые тесты. Например, если у вас есть функция, которая должна возвращать разные результаты в зависимости от дня недели, то с помощью freezegun вы можете задать конкретный день и проверить правильность работы функции.

Для использования библиотеки freezegun вам необходимо установить ее с помощью pip, выполнив команду pip install freezegun. После этого вы можете импортировать ее в свой код с помощью строки import freezegun. Теперь вы готовы начать использовать возможности библиотеки для тестирования ваших программ.

Пример использования библиотеки freezegun:


import freezegun
from datetime import datetime

@freezegun.freeze_time("2022-12-25")
def test_christmas():
    assert datetime.now() == datetime(2022, 12, 25)

В этом примере мы используем декоратор @freezegun.freeze_time("2022-12-25"), чтобы «заморозить» время на 25 декабря 2022 года. Затем мы проверяем, что текущее время соответствует заданной дате. Таким образом, мы можем убедиться, что наша функция работает корректно в определенном временном контексте.

Библиотека freezegun обладает множеством возможностей для управления временем в тестах, таких как перемещение вперед или назад на определенный промежуток времени, установка часового пояса и многое другое. Это делает ее отличным инструментом для создания надежных и устойчивых тестов, которые не зависят от внешних условий.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Применение функции к каждому элементу списка
  2. Поиск частого элемента
  3. Инверсия списка/строки в Python
  4. Копирование словарей и списков в Python
  5. Фильтрация элементов с помощью islice
  6. Переопределение метода __or__()
  7. Функция all() в Python
  8. Логический оператор «and» в Python
  9. Избегайте изменяемых аргументов
  10. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  11. Генерация тестовых данных с factory_boy
  12. Форматирование строк в Python
  13. Основы Python
  14. Сортировка и разворот списка
  15. Основные функции и модули Python
  16. Настройка шрифта и цвета в Tkinter
  17. Генератор чисел Фибоначчи
  18. Проверка версии Python
  19. Ускорение обработки данных с %autoawait
  20. Создание панели меню Tkinter
  21. Передача аргументов через **arguments
  22. Асинхронное программирование с asyncio
  23. Преобразование числа в восьмеричную строку
  24. Работа с временем в Python
  25. kwargs в Python
  26. Функция map() и ленивая оценка
  27. История Python
  28. Освоение Python
  29. Шаблоны Flask: условия и циклы
  30. Функции-генераторы в Python
  31. Конкатенация строк с методом join()
  32. Методы Python для работы с данными
  33. Операции с комплексными числами
  34. Названия столбцов в Python таблицах
  35. Обработка исключений в Python
  36. Операции с датами в Python
  37. globals и locals
  38. Удаление первого элемента списка
  39. Философия Python
  40. Функциональное программирование.
  41. Конвертация изображений в PDF
  42. Управление памятью в numpy.
  43. Удаление пробелов методом translate()
  44. Python 3.12: Псевдонимы типов

Marketello читают маркетологи из крутых компаний