【问题标题】:In test cases(unit-testing), Django pre_save signal can not be caught在测试用例(单元测试)中,无法捕获 Django pre_save 信号
【发布时间】:2011-09-10 23:46:05
【问题描述】:

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

  • 看来我的测试用例和信号处理程序位于不同的应用程序中。这是问题的原因吗?

【问题讨论】:

    标签: python django unit-testing django-models django-signals


    【解决方案1】:

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

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

    你可以把信号处理和 您喜欢的任何地方的注册码。 但是,您需要确保 它所在的模块会提前导入 on 以便信号处理得到 在任何信号需要之前注册 发送出去。

    (来自:Listening to signals, Connecting receiver functions。)

    【讨论】:

      猜你喜欢
      • 2016-12-10
      • 2010-09-05
      • 1970-01-01
      • 2023-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多