2017-04-10 78 views
0

嘿我试图在我的测试中激活一个信号 - 但我似乎无法使它工作。试图在我的测试中激活Django信号

这是我的接收机

@receiver(post_save, sender=models.Allocation, dispatch_uid="close_overdue_invoice_tasks") 

那么,怎样才能“激活”它,所以它会调用该方法:

def close_overdue_invoice_tasks(sender, **kwargs): 
    ... 

所有信号作品和我的猜测是,你必须手动激活运行测试时的信号。

我正在使用Pytest。

+1

“我的猜测是,你手动运行测试时必须激活信号”我不相信这是真的。你如何以及在哪里注册你的信号处理程序? – Chris

回答

1

当您保存连接到的模型时,将会调用您的信号。在这种情况下,在Allocation的实例上调用.save()将导致信号被调用。

您不应该激活信号,它们应该已经设置。检查您定义信号的位置并确保它们在测试运行期间正在执行。

+0

它现在有效。我的信号没有被执行,因为它没有我的if语句。非常感谢m8:D –