Python 加芹菜的Django测试

Python 加芹菜的Django测试,python,django,testing,celery,Python,Django,Testing,Celery,我在想如何测试我的应用程序架构时遇到了一些问题。我已经完成了60%的网站,并进行了完整的单元测试(覆盖了所有实用程序/库函数,芹菜任务作为简单函数,等等) 当我尝试测试执行芹菜任务(延迟方法)的django视图(普通函数)时,问题就出现了 例如: def myview(request): ... mytask.delay(myval) ... 在不真正生成新任务执行的情况下,测试场景的正确方法应该是什么 显而易见的方法是在每次任务延迟调用之前设置一个条件,仅当它不在测试环境中时才

我在想如何测试我的应用程序架构时遇到了一些问题。我已经完成了60%的网站,并进行了完整的单元测试(覆盖了所有实用程序/库函数,芹菜任务作为简单函数,等等)

当我尝试测试执行芹菜任务(延迟方法)的django视图(普通函数)时,问题就出现了

例如:

def myview(request):
  ...
  mytask.delay(myval)
  ... 
在不真正生成新任务执行的情况下,测试场景的正确方法应该是什么

显而易见的方法是在每次任务延迟调用之前设置一个条件,仅当它不在测试环境中时才执行它,但它看起来非常脏

任何提示?

使用测试运行的设置

它使函数立即被调用,而不是作为任务运行


django设置代码段示例:

if 'test' in sys.argv:
    CELERY_ALWAYS_EAGER = True