测试时使用Python补丁装饰器效果

时间:2018-06-20 18:37:13

标签: testing python-unittest django-unittest

我有任务:

@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)

0 个答案:

没有答案