如何在使用fixture的Django测试用例中禁用信号?
当我使用如何在使用fixture的Django测试用例中禁用信号?,django,unit-testing,signals,Django,Unit Testing,Signals,当我使用fixtures创建数据时,如何禁用DjangoTestCase中所有测试的信号 不幸的是,以下改编自的方法不起作用。我假设夹具是在设置阶段之前应用的 from django.db.models import signals from django.test import TestCase class MyTestCase(TestCase): fixtures = ["some_data.json"] def setUp(self) -> None:
fixtures
创建数据时,如何禁用DjangoTestCase
中所有测试的信号
不幸的是,以下改编自的方法不起作用。我假设夹具是在设置
阶段之前应用的
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
解释为类加载一次fixture以加速测试。尝试断开连接,而不是
setUp
@Alasdair,这确实有效!