Python Django, модульные тесты для функций?

В проекте Python Django функция retrieve_timerange(request) не является членом какого-либо класса и содержит встроенную функцию parse_timestamp(datetime_str). Я хочу написать модульные тесты, чтобы охватить граничные условия, например, вход и выход из летнего летнего времени в местном часовом поясе.

Мне интересно:

  • Как написать модульный тест для функции retrieve_timerange(request)?
  • Как написать модульный тест для встроенной функции parse_timestamp(datetime_str)?

Я сгенерировал приведенный ниже модульный тест test_service.py с помощью PyCharm, и он работает. Однако я не вижу никакой связи с тестируемыми функциями. Я не знаю, как подать входные данные на вызов функции и проверить возврат. Я новичок в написании юнит-тестов, поэтому буду очень признателен за любые подсказки или предложения.

Частичный пример исходного кода service.py:

from django.utils import timezone
from dateutil.parser import isoparse
import datetime

...

def retrieve_timerange(request):

    def parse_timestamp(datetime_str):
        ...
        return timestamp

    ...
    time_from = None
    time_to = None
    if query_params is not None:
        time_from = parse_timestamp(str_time_from)
        time_to = parse_timestamp(str_time_to)

    return time_from, time_to

...

Образец исходного кода теста блока test_service.py:

from unittest import TestCase
import unittest

import dateutil
import pytz


class Test(TestCase):
    def test_parse_timestamp(self):

        self.fail()

Вернуться на верх