Я построил систему клиентских платежей CMS + для клиента, и мне нужно получить более строгие результаты при тестировании.
Я сохраняю все свои данные в ORM Django и имею множество задач Celery, которые выполняются с разными интервалами, что гарантирует отправку новых счетов-фактур и напоминаний о счетах и сокращение доступа, когда пользователи не оплачивают свои счета-фактуры.
Например, я хотел бы иметь возможность запускать тест, который:
-
Создает нового пользователя и создает счет за X дней доступа к сайту
-
Имитирует прохождение X + 1 дня и выполняет все задания, которые я установил в Celery.
-
Проверяет, что пользователю был выдан новый счет за другие X дней.
Подход KISS, к которому я придумал, - это все тестирование на отдельной машине и фактическое манипулирование датой/временем на уровне ОС. Таким образом, тестирование script:
-
Установите системную дату на день 1
-
Создайте нового пользователя и сгенерируйте первый счет за X дней доступа
-
Затем введите системную дату 1 день. Запустите все задания по сельдерею. Повторяйте до тех пор, пока X + 1 день не пройдет "
-
Убедитесь, что новый счет выставлен
Это немного неуклюже, но я думаю, что это может сработать. Любые другие идеи о том, как это сделать?