How can I disable a signal for all tests within a Django TestCase
when I create data using fixtures
?
The following approach adapted from this answer does not work unfortunately. I suppose fixtures are applied before the setUp
stage.
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