在芹菜任务使用单元测试数据库

时间:2017-03-24 14:06:42

标签: django unit-testing celery

在django应用程序中,我有一个运行Celery任务的视图。 在celery任务中,我使用Django ORM对数据库执行一些操作。

我将我的测试用例称为:

class MyViewTestCase(APITestCase):
   def test_my_view(self):
       self.client.post('url',data)

我的测试用例在测试数据库中完成了所有的操作。 但是在芹菜任务中,所有的动作都发生在产品数据库中。

我使用芹菜4。

是否可以选择让芹菜与测试django数据库一起使用?

1 个答案:

答案 0 :(得分:0)

默认情况下,Django使用内存测试数据库,外部进程无法访问该数据库,例如从命令行或守护程序启动的Celery。但是,it is possible to launch a worker as a thread in the Django test processcelery.contrib.testing.worker.start_worker,将根据需要使用测试数据库。