IIRC вы можете полагаться на более высокоуровневые светильники, которые должны быть выполнены в первую очередь. Поэтому, если вы создали привязку для аутсорсинга, привязанную к сеансу, для monkeypatch smtplib.SMTP.connect
, вы можете создать прибор с привязкой к функциям, который отменяет этот monkeypatching для одного теста, после чего восстанавливает его. Я предполагаю, что самый простой способ сделать это - создать свой собственный механизм smtpserver
, который зависит как от приспособления disallow_smtp
, так и от smtpserver
крепления от pytest-localserver
, а затем обрабатывает все настройки и разрывы, необходимые для того, чтобы эти две работы вместе.
Это неопределенно, так как pytest-django
обрабатывает доступ к базе данных через btw, вы можете попробовать и посмотреть на код там, но это далеко не простой пример и имеет много своих собственных странных вещей.