2017-04-10 1 views
0

안녕하세요 테스트에서 신호를 활성화하려고하는데 작동하지 않는 것 같습니다.내 테스트에서 장고 신호 활성화 시도

이 내 수신기

@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 –

관련 문제