如果我在django测试用例中启动一个新进程,它将使用普通数据库而不是测试数据库。
class ClientManagerTest(TestCase):
def setUp(self):
self.clientprocess = Process(target=run).start()
现在,如果我这样做
def run():
User.objects.all()
它查询标准数据库而不是测试数据库。该如何解决?
答案 0 :(得分:1)
如果这是您所看到的行为,则需要在堆栈中进一步使用可调用对象,以适当地初始化Django的测试基础结构。
但是,这不是在Django中处理跨进程共享工作的推荐方法。您应该考虑使用the celery
library;他们为此用例提供了unit testing documentation。