在django应用程序中,我有一个运行Celery任务的视图。 在celery任务中,我使用Django ORM对数据库执行一些操作。
我将我的测试用例称为:
class MyViewTestCase(APITestCase):
def test_my_view(self):
self.client.post('url',data)
我的测试用例在测试数据库中完成了所有的操作。 但是在芹菜任务中,所有的动作都发生在产品数据库中。
我使用芹菜4。
是否可以选择让芹菜与测试django数据库一起使用?
答案 0 :(得分:0)
默认情况下,Django使用内存测试数据库,外部进程无法访问该数据库,例如从命令行或守护程序启动的Celery。但是,it is possible to launch a worker as a thread in the Django test process与celery.contrib.testing.worker.start_worker
,将根据需要使用测试数据库。