如何测试创建Celery任务的代码?

时间:2018-11-18 11:16:33

标签: python django celery

我已经读过Testing with Celery,但仍然有些困惑。我想测试通过手动显式运行任务来生成Celery任务的代码,例如:

def test_something(self):
    do_something_that_generates_a_celery_task()
    assert_state_before_task_runs()
    run_task()
    assert_state_after_task_runs()

我不想完全模拟任务的创建,但是与此同时,我也不关心测试芹菜工人捡起的任务。我假设芹菜有效。

我要尝试执行的实际上下文是Django应用程序,其中的某些代码在请求中运行太长时间,因此将其委派给后台作业。

1 个答案:

答案 0 :(得分:0)

在测试模式下,使用CELERY_TASK_ALWAYS_EAGER = True。如果您已遵循django-celery配置的默认指南,则可以在django的settings.py中设置此设置。