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



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

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

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

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

您可以将信号处理和任何您喜欢的注册码。但是,您需要确保它所在的模块会提前导入以便信号处理在任何信号需要之前注册发送

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

最新更新