我有任务:
@shared_task
@send_exception_email
def celery_task():
# do some stuff
如何在测试时删除@send_exception_email
,导致装饰器在任务失败时发送电子邮件信,结果task.state
总是SUCCESS
。
但是所有错误都发送给管理员电子邮件。因此,在测试期间,我需要没有该装饰器的任务。
测试很简单,它仅检查任务是否成功通过
@override_settings(CELERY_TASK_ALWAYS_EAGER=True)
class TestTasks(TestCase):
def test_tasks1(self):
task = tasks1.apply_async()
self.assertEqual(task.successful(), True)