2017-04-10 61 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 –