Как я могу отключить сигнал в Django TestCase, который использует приборы? - PullRequest
2 голосов
/ 30 апреля 2020

Как отключить сигнал для всех тестов в пределах 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...