gpt4 book ai didi

python - 测试 Django 和 Celery

转载 作者:行者123 更新时间:2023-11-28 16:36:00 26 4
gpt4 key购买 nike

我在尝试弄清楚如何测试我的应用程序架构时遇到了一些麻烦。我的网站已经完成了 60%,具有完整的单元测试覆盖率(涵盖所有实用程序/lib 函数、作为简单函数的 celery 任务,等等)。

当我尝试测试执行 celery 任务(延迟方法)的 django View (普通函数)时出现问题。

例子:

def myview(request):
...
mytask.delay(myval)
...

在不真正生成新任务执行的情况下测试场景的正确方法应该是什么?

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

有什么建议吗?

最佳答案

使用CELERY_ALWAYS_EAGER测试运行设置。

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


Django 设置片段示例:

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

关于python - 测试 Django 和 Celery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26143790/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com