在测试用例(单元测试)中,无法捕获Django pre_save信号

Wei*_* An 4 python django unit-testing django-signals django-models

在Django中,我捕获pre_save信号的代码效果很好.但是,在tests.py中的测试用例中,信号处理程序无法接收任何内容.这个问题有什么暗示吗?

  • 我的测试用例和信号处理程序似乎在不同的应用程序中.这是问题的原因吗?

Udi*_*Udi 5

我的测试用例和信号处理程序似乎在不同的应用程序中.这是问题的原因吗?

是.每个应用程序tests.py都是原子的.import您的信号注册码或在测试中的某个地方手动连接它们以确保它们正在收听:

您可以将信号处理和注册码放在任何您喜欢的地方.但是,您需要确保早期导入模块,以便在需要发送任何信号之前注册信号处理.

(来自:收听信号,连接接收器功能.)