Как отключить сигнал для всех тестов в пределах Django TestCase
, когда я создаю данные с использованием fixtures
?
Следующий подход, адаптированный из этот ответ , к сожалению, не работает. Я полагаю, что светильники применяются до стадии setUp
.
from django.db.models import signals
from django.test import TestCase
class MyTestCase(TestCase):
fixtures = ["some_data.json"]
def setUp(self) -> None:
signals.post_save.disconnect(sender=MyModel, dispatch_uid="some_signal_uid")
def test_some_test(self):
# do something
@receiver(post_save, sender=MyModel,dispatch_uid="some_signal_uid")
def some_signal(sender, instance: MyModel, created: bool, **kwargs):
# do something