【发布时间】:2018-01-20 00:41:51
【问题描述】:
如何正确模拟在另一个 celery 任务中调用的 celery 任务? (下面的虚拟代码)
@app.task
def task1(smthg):
do_so_basic_stuff_1
do_so_basic_stuff_2
other_thing(smthg)
@app.task
def task2(smthg):
if condition:
task1.delay(smthg[1])
else:
task1.delay(smthg)
我在 my_module 中确实有完全相同的代码结构。项目/cel/my_module.py 我正在尝试在 proj/tests/cel_test/test.py 中编写测试
测试功能:
def test_this_thing(self):
# firs I want to mock task1
# i've tried to import it from my_module.py to test.py and then mock it from test.py namespace
# i've tried to import it from my_module.py and mock it
# nothing worked for me
# what I basically want to do
# mock task1 here
# and then run task 2 (synchronous)
task2.apply()
# and then I want to check if task one was called
self.assertTrue(mocked_task1.called)
【问题讨论】:
标签: python python-2.7 mocking